基本的なプロセスは、NDKのためのEclipseの開発です。
ジャワの準備を完了するためのAndroidプロジェクト--->関数を作成し、JNIインタフェース機能(ネイティブ関数)を追加追加された--->、JNIフォルダを追加Android.mkを追加し、ソースファイル--->ソースファイルに実装インタフェース機能---> libのライブラリにコンパイルされたソースファイルとNDK-構築--->、Androidのエミュレータを起動し、インストールしてプロジェクトを実行します。
例えば:
1、オープンEclipseは、Androidのプロジェクトを追加します。プロジェクトの名前はIDETTestあり、その後、プロンプトのアクティビティ名(IDETest)およびJavaパッケージ(com.test.IDETest)を完了します。注Javaパッケージ名は最高、呼び出しは将来のJNI呼び出しに失敗する可能性があり、下線されていないため、パッケージ_Activity Java_java名_関数宣言の名前でJNI形式のインタフェース機能
2、導入NDKクロスコンパイラを呼び出し必要なJNIのクラスで呼び出されたJavaコードの準備を完了するために:
静的{
System.loadLibraryを( "IDETest");
}
クラス宣言ネイティブ関数で同時に(CファイルにNDKクロスコンパイラで、作成されます)
公共のStringネイティブgenerateID(文字列のラベル)。
完全なJavaファイルには、次のようになります。
パッケージcom.test.IDETest;
輸入android.app.Activity。
輸入android.widget.TextView。
輸入android.os.Bundle;
パブリッククラスIDETestは{アクティビティを拡張します
/ **活動が最初に作成されたときに呼び出されます。* /
@オーバーライド
公共のボイドのonCreate(バンドルsavedInstanceState){
super.onCreate(savedInstanceState)。
//setContentView(R.layout.main);
TextViewのテレビ=新しいのTextView(この);
tv.setText(generateID( "47766"));
setContentView(TV)。
}
/ *ネイティブメソッドを実装します* /
公共のStringネイティブgenerateID(文字列のラベル)。
/ ******************************* /
/ *インポートC libに* /
静的{
System.loadLibraryを( "IDETest");
}
}
3、JNIという名前IDETestプロジェクトにフォルダを追加します。Cは、JNIフォルダファイル(.Cと.hファイルエンジニアリング)とAndroid.mkファイルで実現するためにモジュールを追加します
Cコンテンツファイルモジュール(IDETest.c)の
書式#include <string.hの>
書式#include <jni.h中>
書式#include <stdio.hに>
JSTRING
Java_com_test_IDETest_IDETest_generateID(JNIEnvの* envを、
、thiz jオブジェクト
JSTRINGラベル)
{
CHAR * STR =(CHAR *)はmalloc(1024 *のはsizeof(CHAR))。
sprintf(STR、 "みなさんこんにちは、私はXXXからだ、と私のIDは%sです!"、(* ENV) - > GetStringUTFChars(ENV、ラベル、0));
printf( "%sの"、STR)。
リターン(* ENV) - > NewStringUTF(ENV、STR);
}
Android.mkファイル
LOCAL_PATH:= $(私の-dirを呼び出します)
$(CLEAR_VARS)が含ま
LOCAL_MODULE:= IDETest
LOCAL_SRC_FILES:= IDETest.c
含める$(BUILD_SHARED_LIBRARY)
4、ライブラリファイルのソースコードをコンパイルします。
プロジェクトディレクトリに
ルートの@ XXX-ノートパソコン:〜/ IDETest番号のLS
AndroidManifest.xmlをビン世代のlibs proguard.cfg SRC
資産default.properties JNI OBJ解像度
ルートの@ XXX-ノートパソコン:〜/ IDETest#NDKビルド
親指をコンパイルします。IDETest <= IDETest.c
SharedLibrary:libIDETest.so
インストール:libIDETest.so =>のlibs / armeabi / libIDETest.so
OBJは、自動的にLIBSフォルダの完了後に作成してコンパイルされています
そこにライブラリファイルをコンパイルしました。
5、プロジェクトを実行するには、Androidエミュレータを起動します。