闲话少说
首先要保证Eclispe下ADT能够正常使用
其次要下载ndk包android-ndk-r7-windows.zip
步骤如下
1:解压安装ndk.zip
2:新建一个android工程,同时在项目根目录下新建一个jni文件夹用于后面编译jni
4:在android的工程中新建一个java类仅仅编写几个native调用
package ***;
public class JniClient {
static public native String AddStr(String strA, String strB);
static public native int AddInt(int a, int b);
}
如果EClipse能够动态编译的话,会自动生成对应的.classes文件在bin/class目录下
如果没有生成.classes文件的话就需要通过dos窗口,跳转到当前java窗口然后运行javac filename
然后将文件拷贝到bin/class对应的目录中
5:cmd命令定位到TestNdk\bin\classes目录,输入”javah file“后回车,
在\bin\classes目录下就生成了C++头文件**.h。
在jni目录下新建一个Android.mk文件,其内容如下(详细的语法以后再另外解释):
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := PackageName
LOCAL_SRC_FILES := **.c
include $(BUILD_SHARED_LIBRARY)
6:将**.h拷贝到工程的jni目录下,然后新建一个**.c文件完成头文件中函数的实现
7:java中的调用
static {
System.loadLibrary("TestNdk");
}