android NDKを利用することで、C/C++言語でandroidアプリケーションを作成することができます。
ただし、SDKとの併用が前提であり、android NDKによって生成される実行バイナリ(ネイティブコード)をJava言語から呼び出すアプリケーション構成となります。
Java言語で開発されたプログラムから、他の言語で開発されたネイティブコード(特定のプラットフォームでそのまま実行可能なプログラム)のプログラムを利用するためのAPIとなります。
C/C++言語などで実装された既存のライブラリを利用できる、パフォーマンスを向上できるなどの利点があります。
詳細はJNIを参照下さい。
NDKを利用することの最大のメリットはネイティブコードがandroidアプリケーションで利用できることであり、Java言語を用いるよりも高速に処理が実行できます。また、過去のC/C++ソースコード資産を再利用できるようになる点が挙げられます。
デメリットとしては、実行ファイルにネイティブコードが含まれるため、実行バイナリがハードウェア(CPU)に依存してしまうことです。
ARMやMIPSなどのアーキテクチャのCPUで動作させるには、ユーザのハードウェアに合わせた実行バイナリを用意する必要があります。
複数アーキテクチャに対応するために、複数実行バイナリを用意したパッケージ(apkファイル)を作成した場合、ファイルサイズは大きくなってしまいます。
Android NDK downloadからNDKを取得します。
実行環境に合わせたパッケージを取得します。
tarファイルを解凍し、任意の場所に配置します。
$ tar xvf android-ndk-r8-darwin-x86.tar.bz2 $ mv android-ndk-r8 /Developer/.
パスの追加(.bashrcなどに記述)を行います。
export $PATH=$PATH:/Developer/android-ndk-r8
以上でインストール作業は終了します。