工具要求:
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;@Overrideprotected 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,进行编译得到结果。