1、创建android工程
2、编写JAVA类,其中包含nativie方法
例如:
3、生成JNI头文件
使用javah命令
使用cmd进入android项目的bin目录中,然后执行 javah -classpath . -jni com.android.myjni.JNI这个命令
用法:javah [选项] <类>
其中 [选项] 包括:
-help 输出此帮助消息并退出
-classpath <路径> 用于装入类的路径
-bootclasspath <路径> 用于装入引导类的路径
-d <目录> 输出目录
-o <文件> 输出文件(只能使用 -d 或 -o 中的一个)
-jni 生成 JNI样式的头文件(默认)
-version 输出版本信息
-verbose 启用详细输出
-force 始终写入输出文件
com.android.myjni.JNI指包com.android.myjni下的JNI类,是要生成该类的JNI头文件
例如:com_android_myjni_JNI.h
4、编写c代码
例如:com_android_myjni_JNI.c
进行编译so文件:
进入工程目录,执行 ndk-build,例如:~/workspace/MYJni$ ndk-build
则会在libs/armeabi/生成相应的so文件,例如:libmyjni.so
工程目录结构:
src下包含java文件
自己新建一个jni文件,包含com_android_myjni_JNI.h、com_android_myjni_JNI.c、Android.mk文件
so文件会自动在libs/armeabi/下生成
测试代码: