工具要求:
ADT + NDK(版本:android-ndk-r9d 目前最新版)
一、首先建立一個測試工程
在工程檔案上,點右鍵選擇 Android Tools -> Add Native Support,然後輸入so檔案的名字就可以了
二、配置ADT的NDK路徑
Window -> Preference -> Android -> NDK -> NDK Loaction
然後找到本機的NDK路徑,填進去就可以了,我的路徑是:F:\Gzthss\TOOL\android-ndk-r9d

三、設定NDK的環境變量及編譯腳本路徑
Window -> Preference ->
C/C++ ->Build ->Environment -> Add 将NDK路徑設定成環境變量,如圖所示,然後OK儲存。
然後,設定編譯腳本(
ndk-build.cmd
)的路徑:
這樣就可以直接編譯jni了,在也不需要Cygwin了,還是很友善的的吧!!
四、完善JNI工程
找到目下jni檔案夾下面的 ndkTest.cpp檔案,寫一個簡單的jni函數:
ndkTest.cpp 檔案 :
#include <jni.h>
#include <string.h>
extern "C"
_jstring* Java_com_example_ndktest_NdkTest_jniTest(JNIEnv* env,jobject thiz)
{
return (env)->NewStringUTF("hello from jni by ndkTest!");
}
NdkTest.java檔案:
package com.example.ndktest;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.TextView;
public class NdkTest extends ActionBarActivity {
private TextView tv = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ndk_test);
tv = (TextView)findViewById(R.id.textView1);
tv.setText("" + jniTest());
}
private native String jniTest();
static {
System.loadLibrary("ndkTest");
}
}
這時候會提示頭檔案找不到,因為還沒有包含頭檔案,頭檔案是在ndk目錄:
F:\Gzthss\TOOL\android-ndk-r9d\platforms\android-19\arch-arm\usr\include
右鍵工程 -> Properties -> C/C++ General -> Path and Symbols -> Includes 标簽 -> Add 将自己的NDK頭檔案路徑包含進去就行了。
然後,在Java檔案中進行調用Jni,進行編譯得到結果。
![]()
JNI 之 Eclipse下NDK環境配置