▼Androidメモ▼
Android NDK



Android NDK
Android NDKはパフォーマンスが要求される部分をネイティブコードで実装するためのツール。
アプリケーションを部分的に高速化したい人のためのツールであり、ネイティブコードのみでのアプリケーションを作成するツールではない。
Android SDK用の補助ツールのため、先にAndroid SDKをインストールしておく必要がある。
現在のサポート対象はARMv5TE。

NDKに含まれるコンテンツは次の通り。

ネイティブコードで利用できるライブラリは次の通り。
NDKのインストール

NDKのインストール手順は次の通り。
  1. Android SDKのインストール。
  2. Android NDKのダウンロードした後に解凍し、任意の場所に配置。
  3. ターミナルから「android-ndk-1.5_r1/build/host-setup.sh」を実行。
成功時にはHost setup completeと表示される。


NDKの利用手順
  1. 自作のネイティブコードを「android-ndk-1.5_r1/sources/<my_src>/」に配置。
  2. ソースのメイクファイルを「android-ndk-1.5_r1/sources/<my_src>/Android.mk」に生成。
  3. アプリケーションのメイクファイルを「android-ndk-1.5_r1/app/<my_app>/Application.mk」に生成。
  4. ターミナルから「make APP=<my_app>」を実行してビルド。
チュートリアル
ネイティブ メソッドから文字列をロードするだけのシンプルなアプリケーション「hello-jni」を作成する。
共有ライブラリとして実装し、アプリケーションの UI に表示する。


  1. ネイティブコード「android-ndk-1.5_r1/sources/sample/hello-jni/hello-jni.c」が存在することを確認。
    hello-jni.c
    #include 
    
    jstring
    Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
                                                      jobject thiz )
    {
        return (*env)->NewStringUTF(env, "Hello from JNI !");
    }

  2. ソースのメイクファイル「android-ndk-1.5_r1/sources/sample/hello-jni/Android.mk」が存在することを確認。
    Android.mk
    LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE    := hello-jni
    LOCAL_SRC_FILES := hello-jni.c
    
    include $(BUILD_SHARED_LIBRARY)
  3. アプリケーションのメイクファイル「android-ndk-1.5_r1/app/hello-jni/Application.mk」が存在することを確認。
    Application.mk
    APP_PROJECT_PATH := $(call my-dir)/project
    APP_MODULES      := hello-jni
    
  4. ターミナルから「make APP=hello-jni」を実行してビルド。
    成功すると「android-ndk-1.5_r1/apps/hello-jni/project/libs/armeabi/libhello-jni.so」に出力される。
  5. Android SDKをインストールしたEclipseを起動。
  6. Eclipseのメニュー「File→New→Android Project」を選択。
  7. 「Create project from existing...」で先ほど生成した「android-ndk-1.5_r1/apps/hello-jni/project/」を選択。
  8. ビルドして実行。


−戻る−