我在测试JNI时,如下进行:
1、创建一个android项目,名为JNIDemo2
2、在Activity中声明一个native方法
private nativve String test();
static{
System.loadLibrary("hellojni");
}
这样java层的代码完成。
3、用javah命令生成.h头文件(注意: javah 应该是完整的包名和类名)
cmd进入classes目录下执行 javah -classpath packageName+className
javah -classpath com.list.activity.MainActivity 将生成com_list_jnidemo_MainActivity.h 头文件
4、 将头文件发到项目的指定位置,同时在该位置下新建一个.c文件。如:helloJNI.c
5、在helloJNI.c 中实现头文件的方法
6、编写Android.mk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hellojni
LOCAL_SRC_FILES := helloJNI.c
include $(BUILD_SHARED_LIBRARY)
7、使用cygwin工具编译:进入该项目的跟目录。
执行$NDK/ndk-build
$ $NDK/ndk-build
Compile thumb : hellojni <= helloJNI.c
SharedLibrary : libhellojni.so
Install : libhellojni.so => libs/armeabi/libhellojni.so
8、运行项目。