2014年11月6日木曜日

【Android】「Android NDK でjni下のソースをコンパイル」ってなんだ?

仕事で使おうとしているライブラリのインストールマニュアルを読んでいて、こういうのにぶつかった。

Android NDK でjni下のソースをコンパイルしてください。



この項目のところで詰まった。
Android NDK でjni下のソースをコンパイルってなんだ?

うまく行ったらしいのでやったことをメモ。

AndroidNDKのインストール:
AndroidSDKのインストールされているフォルダに、AndroidNDKのファイルをひと通りダウンロード&解凍済み。
AndroidNDKはまずファイルを一揃いダウンロードして、然るべきディレクトリに解凍することろから。
http://developer.android.com/tools/sdk/ndk/index.html

こういう階層になっていた。「ndk」というのは多分解凍フォルダをリネームしたもの。
C:\Users\takeru\AppData\Local\Android\android-sdk\ndk

環境変数のPathにNDKインストールディレクトリを追加
コントロール パネル\すべてのコントロール パネル項目\システム
システムの詳細設定>環境変数
Pathの項目に
C:\Users\takeru\AppData\Local\Android\android-sdk\ndk;
を追加。「;」が区切り文字

「jni」フォルダが鍵。
■CやC++で書かれたネイティブのソースがここに入っている
■コンパイルの際にコンパイル命令の詳細を定義する「Android.mk」「Application.mk」が入っている。
■コンパイルのコマンドである「ndk-build」は、ウィンドウズのコマンドプロンプトから実行するもの。
■コンパイルのコマンドである「ndk-build」は、この「jni」ディレクトリまでcdコマンドで移動してから、ここで行う。

つまり、CやC++で書いたソースをAndroidで使いたい場合、
■Androidプロジェクト内に「jni」ディレクトリを作成
■「jni」ディレクトリ内に「Android.mk」「Application.mk」を作成(内容の書き方は詳しくはわからないけど)
■AndroidNDKをインストールし、環境変数のPathにNDKディレクトリを通して「ndk-build」コマンドを使用可能にし、「jni」ディレクトリにて実行
→Androidと連携できるようにコンパイルされるということらしい。

【重要】
コマンドプロンプトで「jni」ディレクトリまで現在位置を移動してから「ndk-build」コマンドを実行すること。
CドライブからDドライブに移動するには「cd /d D:」


----------
基礎知識
----------
Android NDKとは?
    Android Native Development Kitの略称である。
    Androidアプリケーションの一部または全部をC/C++言語で開発するためのキットです。
----------
JNI とは
    Java ネイティブインターフェイス ( Java Native Interface ) のこと。
    Java プログラミング言語で書かれたコードに対し、C や C++ で書かれた関数があるネイティブコードと相互にやり取りする手段を定義するもの。
----------

0 件のコメント:

コメントを投稿