Android Native Development Kit
表示
Android Native Development Kit (Android NDK) は、Androidオペレーティングシステム上で動作するアプリケーションソフトウェアを、C言語あるいはC++を用いたネイティブコードによって開発できるようにするためのソフトウェア開発キット[1]。GCC/Clangツールチェイン、Bionic libc、AndroidネイティブAPIなどを含む。
Androidのアプリケーション開発には通例Java仮想マシン(Dalvik仮想マシン/Android Runtime)上で動作するJavaあるいはKotlinといったマネージ言語を利用する。マネージ言語はメモリ管理や生産性の点で優れているが、メモリへの直接アクセスによるパフォーマンス向上や、OpenCVのような既存のC/C++コード資産を活用する目的で、NDKが用いられることがある。ただしNDKを利用すると、プロセッサ (CPU) アーキテクチャごとにバイナリを用意しなければならなくなるというデメリットもある。Android 2.3以降ではNativeActivityのサポートにより、制約はあるもののC/C++のみでアプリケーション開発をすることもできるようになっている。JVMとネイティブコード間の相互運用には、一般的なデスクトップのJavaアプリケーション開発時と同様、Java Native Interface (JNI) を利用できる。
外部リンク
関連項目
- 機械語 (ネイティブコード)
- マネージコード
- Java Native Interface
- Android#開発環境