2014年3月25日火曜日

Android.mk を 書こう

端末上の画像処理とか数学計算とかAndroid Wearとかやりたい。
Androidアプリケーションはmakeするのにmkファイルを書く。

NDKはデフォルトで /jni/Android.mk を探しにいくようだ。どうりで設定ファイルらしき
ものが無かった。

jni 配下の別の場所にAndroid.mlを作成した場合は、以下の用に設定して、サブディレクトリ
を検索させる。

include $(call all-subdir-makefiles)

1つのAndroid.mkファイルに複数のモジュールを登録可能だし、
複数のAndroid.mlを使用することも可能。

ヘッダーリストや生成されたファイルの依存関係については、Android.mkに
記述しない。これは、NDKがアップデートされても、Android.mkはそのままで
良いというメリットにつながる。

以下、Native Support を Androidプロジェクトに設定すると、以下の用なmkファイルが
作成される。

  • LOCAL_PATH := $(call my-dir) ← Android.mkは必ずこの宣言からはじまる。my-dirはNDKコードで定義されたマクロであり、カレントディレクトリを示す。
  • include $(CLEAR_VARS) ← 必須項目。CLEAR_VARS は NDKシステムにより提供される変数である、特別なGNU Makefileを指している。LOCAL_PATHを除いたいくつかのLOCAL_~変数をクリアする。1つのGNU Makeによりパースされ、全変数はglobalとして扱われる。
  • LOCAL_MODULE    := IRClientAndroid ← 必須。一意のモジュール名。ホワイトスペースは使えない。libXXX.soのXXXに入る名前を決定する部分である。
  • LOCAL_SRC_FILES := IRClientAndroid.cpp ← モジュールに含めるC++ソースリストの定義。ヘッダファイルやインクルードファイルは含めないこと。
  • include $(BUILD_SHARED_LIBRARY) ← 動的共有ライブラリを作成する場合に指定。
Eclipseでやる場合、パスの設定がいろいろ必要なようだ。
次はそれについて。



0 件のコメント:

コメントを投稿