AndroidNDK初步之如何配置eclipse进行jni开发
的有关信息介绍如下:其实这是一篇旧经验,NDK依然是一个短板,不过还是想重新编辑一下略作补充,也好回顾一下NDK的知识。而现在使用的都是AndroidStudio,对于再次使用Eclipse来说,也算有那么一点怀旧。以下针对的是r5c版本NDK(android-ndk-r5c)用cygwin开发和r10e版本NDK(android-ndk-r10e)用eclipse开发两种情况做的总结(注:当前最新版是14的,重新编辑就还用以前版本的了。),具体的配置步骤如下。
下载cygwin安装程序,运行setup.exe,一般选第一项下载并安装,但是我下载过,所以就选第三项从本地安装cygwin了。
设置cygwin安装到那里,位置自定义当然好习惯是排除C盘,然后下一步。
因为我下载过包,所以这里我选择的是指定已经下载了的安装包位置。
这步要求选中需要安装的内容,只选中devel就可以了。
安装cygwin后,打开cygwin/home/用户目录/.bash_profile文件,设置环境变量(这步要求提前下载好NDK,这是要指定NDK目录。),如图所示。
如果安装后home目录下面是空的,没有.bash_profile文件,到\cygwin\etc\skel\下找到.bash_profile文件增加上一步的语句,然后拷贝到C盘的用户目录,有些win7要拷到C:\users用户根目录下,重启cygwin就可以使用了。
打开cygwin就是模拟的Linux界面了,可以输入Linux语句,输入cd $NDKROOT如果出现刚刚配置的目录说明配置NDK成功。
如果想编译jni文件,则需进入到项目的jni目录下,输入命令:$NDKROOT/ndk-build就可以生成.so文件,然后就可以移动到项目的libs里了。
在项目中调用.so中的的方法就可以用以下方式调用,代码如图所示,使用NDK的优点是保护代码、代码重用、C运行速度快、可手动分配内存,比如视频类。
下载eclipseNDK插件后,配置Eclipse与NDK关联:Window->Preferences->Android->NDK->选择NDK解压路径(如:E:\ndk\android-ndk-r10e)
针对项目修改环境,项目右键->Preferences->Builders中,点击New->Program->填写Builders名字、ndk-build.cmd路径、jni路径->OK,如图所示。
针对项目修改环境,项目右键->Preferences->C/C++ Build中,取消选择Use default build command并在Build command中输入${NDKROOT}/ndk-build.cmd,如图所示。
针对项目修改环境,项目右键->Preferences->C/C++ Build->Environment中,点击Add添加名字和变量名NDKROOT的路径(如:E:\ndk\android-ndk-r10e),如图所示。
针对项目修改环境,项目右键->Preferences->C/C++ General->Paths and Symbols中,点击Add->NDK目录下的C库路径(如:E:/ndk/android-ndk-r10e/platforms/android-17/arch-arm/usr/include),完成OK后即可编写jni代码了,如图所示。
附加一点,如果你打开eclipse会有这个错误”Unable to launch cygpath. Is Cygwin on the path?] java.io.IOException: Cannot run program cygpath“,那不用着急,只要在计算机右键属性->高级系统变量->配置环境变量->Path里添加cygwin的bin目录路径即可(如:E:\ndk\cygwin\bin;),不管是用户变量的Path还是系统变量的Path均可,但如果是用户变量的Path一定要加上%PATH%;,它表示一并把全局中Path里的参数带到用户变量里来,如图所示。