Eclipse集成JNI与AndroidNDK操作

来源:互联网 发布:淘宝积分兑换优惠券 编辑:程序博客网 时间:2024/05/22 04:48

通过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的源文件。

参考

  1. 一键使用NDK交叉编译
  2. Android NDK环境搭建与简单实例
0 0
原创粉丝点击