操作系统 ubuntu
1.在ndk/samples目录下 new android project
2.在.java里面声明native method
3.命令进入/bin/classes目录下,运行 javah com.example.hellojni.HelloJni(com.example.hellojni:包名,HelloJni:类名)
4.将生成的.h文件拷贝到项目jni目录下,并建立Android.mk和相对应的.c文件
5.命令进入项目根目录,然后编译,如:
cd <ndk-root>/samples/hello-jni
<ndk_root>/ndk-build
注意:(1)com.example.hellojni 为包名,注意运行Javah 的当前目录 为 <ndk>/examples/hello-jni/bin/classes (你也可以使用javah 的选项来指定classpath);(2)Android.mk可以考其他项目的,但是需要修改LOCAL_MODULE和LOCAL_SRC_FILES
如果没有声明具体的形参,会引起下面错误
jni/myjni.c: In function 'Java_com_example_myjni_MainActivity_stringFromJNI':
jni/myjni.c:28:3: error: parameter name omitted
jni/myjni.c:28:3: error: parameter name omitted
jni/myjni.c:29:11: error: 'env' undeclared (first use in this function)
jni/myjni.c:29:11: note: each undeclared identifier is reported only once for each function it appears in
make: *** [obj/local/armeabi/objs/myjni/myjni.o] Error 1
参考: http://blog.csdn.net/tiandiren2007/article/details/7426893