native

Android NDKは、AndroidC/C++コードを使えるようにするツール。

NDK の概要  |  Android NDK  |  Android Developers
プロジェクトへの C / C++ コードの追加  |  Android Developers

プロジェクト作成時に、

プロジェクト作成
プロジェクト作成

[Include C++ Support]をチェックすると、

ここまでは一緒
ここまでは一緒

ここまでは一緒・・・。

少ない
少ない

少なくなってる・・・。

変わらない
変わらない

変わらない・・・。

C++設定
C++設定

これが出てきたらこんな感じで。

NDKがない
NDKがない

NDKが無いとこうなる。
リンククリックでインストール画面に、

NDKインストール
NDKインストール

NDKをインストール。

完了
完了

しかし、これでgradle syncしても、

CMakeがない
CMakeがない

CMakeが必要と出る。

今回はCMakeを使う方法を取る。Eclipse以前ではndk-buildを使っていたが、Android StudioだとCMakeの方法が主流らしい。(ndk-buildの場合はいずれ)

CMakeのインストール
CMakeのインストール

インストール。

完了
完了

完了。

SDK Manager
SDK Manager

LLDBも入れる。

LLDB
LLDB

チェックを入れて、

インストール
インストール

インストール。

完了
完了

完了。

app/src/main/cpp/の下に、native-lib.cppがあるので、

MainActivity.javaで、

このように書く。
C/C++側の関数はnativeとつけて宣言しておくと呼び出せる。

サンプル: hello-jni  |  Android NDK  |  Android Developers

stringFromJNIは、Java_com_bgstation0_ndk_sample_ntv_1_MainActivity_stringFromJNIに、intFromJNIは、Java_com_bgstation0_ndk_sample_ntv_1_MainActivity_intFromJNIに、対応してる。

実行すると、

実行結果
実行結果

こうなる。

Sample/ndk/native/NTV/NTV_ at master · bg1bgst333/Sample · GitHub