一、android NDK编程步骤
- java文件中声明native方法。
- android工程根目录新建jni文件夹。
- 调用javah命令为第一步声明的native方法生成相应的.h头文件。
通过windows命令行窗口进入到该工程根目录下执行如下语句,便可生成对应的.h头文件:
javah -classpath bin/classes;D:\yinz\adt-bundle-windows-x86_64-20131030\sdk\platforms\android-19\android.jar -d jni com.example.hellondk.MainActivity
javah命令的相关参数可在命令行输入:javah,然后回车即可查看
该命令执行后将在工程根目录下的jni文件夹下生成对应的.h头文件。
- jni目录下新建.c源文件,对.h中的方法进行实现。
- 编写android.mk文件(NDK demo中拷贝即可,拷贝后需自行修改相应参数,如生成的.so文件名,需要编译的.c源文件等)。
NDK解压包的 samples,文件夹下存放了相关的demo工程。
- 工程根目录执行:ndk-build生成对应的.so文件(此处可配置使eclipse自动编译,则可省略该步骤)。
- java中加载该.so文件,并调用该方法。
二、eclipse相关配置
- 配置eclipse自动编译生成.so文件
android工程右击-->properties,如下所示:
如上图所示,未配置前,Builders列表中没有“ndk-builder”选项。
此处点击“New”选项,新增一个builder,如下图所示:
选择“OK”继续:首先配置“Main”选项卡
然后再配置“Build Options”选项卡,如下:
点击“apply”-->“OK”即可。
- eclipse中配置“javah”命令
点击“Run” -->“External Tools” -->“External Tools Configurations”,弹出如下配置框:
- eclipse中配置“javap”命令
方法与配置javah相识,配置参数如下:
配置完成后便可直接在eclipse中,通过点击相应的按钮快速执行:javah生成头文件和javap查看方法签名,而不用再在命令行窗口输入一长串命令执行相应操作,其中方法签名,在jni函数中调用java对象的方法时会用到。
- 配置JNI编码时的代码提示
工程右击-->"Android Tools" -->"Add Native Support"-->"finish".
然后再:工程右击-->"Properties",如下图配置:
上图中所选路径为:D:\yinz\adt-bundle-windows-x86_64-20131030\android-ndk-r10b\platforms\android-L\arch-arm\usr\include
配置完之后,在编写相应的jni方法时便可通过eclipse的代码提示功能来进行jni方法提示。