Android NDKとは?
- Android Native Development Kitの略称である。
- Androidアプリケーションの一部または全部をC/C++言語で開発するためのキットです。
環境構築
- 前提
- eclipse上に、Android開発環境構築済み(英語版)
- 構築手順
- Android NDKのダウンロード
- インストーラは、存在していない。任意の場所に解凍するだけ
- eclipseを起動して、menu Window → Preferences → Android → NDK → “NDK Location” にNDKのパスを設定する
- ・ 例: Path/to/android-ndk-r9d
- 環境変数の PATH にも NDK のフォルダを追加する
hello world NDKを作成
プロジェクト作成
Native Support設定
- プロジェクト・エクスプローラーのプロジェクト名の上でマウスを右クリックし、「Android Tools」のサブメニューから「Add Native Support」を選択する
- Library Nameのネームを修正するとか、そのまま保留するとか
- プロジェクト・エクスプローラーの下に、jniフォルダが出て、helloWorldNDK.cppとAndroid.mkのファイルが2つある
- プロジェクト作成するときに、自動的に生成されたMainActivity.javaを修正する
public class MainActivity extends Activity {
TextView text1;
static {
System.loadLibrary("helloWorldNDK");
}
public native String msgFromNDK();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text1 = (TextView)findViewById(R.id.textView1);
text1.setText(msgFromNDK());
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
...省略...
eclipseで、C/C++ヘッダーファイルを作成
- eclipseのツールバーに、「External Tools」→ 「External Tools Configurations」を選択する
- 左上に、新規作成ボタンをクリックして、以下のように「NDK create」を作成する
- MainActivity.javaソースファイルを開いてテキストエディターがアクティブの状態で、「NDK create」を実行する
- 「com_example_helloworldndk_MainActivity.h」が、jni下に、作成された
C++のソースファイル
#include <jni.h>
#include <assert.h>
#include <com_example_helloworldndk_MainActivity.h>
JNIEXPORT jstring JNICALL Java_com_example_helloworldndk_MainActivity_msgFromNDK
(JNIEnv *env, jobject thiz) {
jstring jstr = env->NewStringUTF("hello world NDK!");
assert(jstr);
return jstr;
}
実行結果
参照
- http://note.chiebukuro.yahoo.co.jp/detail/n136598
- 大部分は、この文書を参照したけど、この文書の最近更新が2013年なので、古くなる
- Android NDKのインストール