Eclipse集成JNI与AndroidNDK操作
Posted wkw1125
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse集成JNI与AndroidNDK操作相关的知识,希望对你有一定的参考价值。
通过Eclipse中External Tools的配置,集成JNI与NDK繁琐的命令,实现一键操作。
集成JNI操作
配置
在Eclipse中,Run -> External Tools -> External Tools Configuration。对Program右击new,Name命名为JavaH,各选项卡做以下配置:
Main选项卡:
属性 | 值 | 说明 |
---|---|---|
Location | C:\\Program Files\\Java\\jdk1.8.0_25\\bin\\javah.exe | JDK的javah.exe路径 |
Working Directory | $project_loc\\src | JavaH作用位置(定位) |
Arguments | -classpath “$project_loc\\bin\\classes;” -d “$project_loc\\jni” -jni “$java_type_name” | JavaH相关参数,注意\\bin\\classes;后的分号; |
Refresh选项卡:
勾选Refresh resource upon completion,命令完成后刷新工作目录
Common选项卡:
在Display in favorites menu中勾选External Tools,在External Tools显示该功能。
Apply,即可在工具栏External tools中看到JavaH功能。
使用
选中工程中包含native声明的.java文件,点击External tools -> JavaH 就可以自动生成对应的.h文件,位于/jni文件夹。
P.S.
如果对存在引用关系(如继承)的.java文件进行javah命令,需要正确配置好引用文件的位置。将native声明在一个单独的类中可避免这个问题。
集成ndk-build操作
配置
在Eclipse中,Run -> External Tools -> External Tools Configuration。对Program右击new,Name命名为NDK-build,各选项卡做以下配置:
Main选项卡:
属性 | 值 | 说明 |
---|---|---|
Location | D:\\sdk\\android-ndk-r13b\\ndk-build.cmd | ndk-build.cmd脚本路径 |
Working Directory | $project_loc | ndk-build作用位置(定位) |
Refresh选项卡:
勾选Refresh resource upon completion,命令完成后刷新工作目录
Common选项卡:
在Display in favorites menu中勾选External Tools,在External Tools显示该功能。
Apply,即可在工具栏External tools中看到NDK-build功能。
使用
在工程\\jni目录下配置好Android.mk文件,放好相关的.c与.h文件;
选中工程,点击External tools -> NDK-build 开始编译,生成.so文件。
EclipseADT中的NDK操作
使用EclipseADT可以通过界面直接使用NDK编译,而不需手动执行ndk-build命令。
EclipseADT中的NDK配置:
打开Eclipse -> Window -> Preferences -> Android -> NDK -> 设置NDK路径(如D:\\sdk\\android-ndk-r13b\\build
) -> Apply。
新建一个Android工程NDKTest,在工程上右键点击Android Tools -> Add Native Support…,然后给.so文件取个名字。这时候工程就会多一个jni的文件夹,jni下有Android.mk和NDKTest.cpp文件。Android.mk是NDK工程的Makefile,NDKTest.cpp就是NDK的源文件。
参考
以上是关于Eclipse集成JNI与AndroidNDK操作的主要内容,如果未能解决你的问题,请参考以下文章