AndroidNDK初步开发之安装eclipse插件支持jni开
因为初次使用AndroidNDK开发,而且使用的是Google近乎遗弃的Eclipse,去jni开发,实在是一件实为苦恼的事,花了我2天的时间~下面把我会分2节来“完美”的说明使用eclipse进行jni开发的步骤。
首先当然是安装NDK,这里要说明一下,以前的版本还在用cygwin,当时我接触过android-ndk-r5c版本的NDK,当时我尝试了下这一版本的使用,结果发现要想自己写jni,还最好是用eclipse(如果你是大牛可以略过,反正我不是)。随后,下载了新版android-ndk-r10e的NDK,其实是相当简单,但百度了很多好多总结的都不太完善,我的步骤如下:
一、老版本使用cygwin开发ndk的相关配置:
(1)进入cygwin/home/用户目录/.bash_profile,添加如下语句:
NDKROOT=/cygdrive/E/ndk/android-ndk-r5c
export NDKROOT
export PATH="$PATH":"$NDKROOT"
(2)复制.bash_profile到C盘的用户目录下,再打开cygwin
(3)打开cygwin就是模拟的Linux界面了,可以输入Linux语句,输入cd $NDKROOT如果出现刚刚配置的目录说明配置NDK成功。
(4)如果想编译jni文件,则需进入到项目的jni目录下,输入命令:$NDKROOT/ndk-build就可以将.so文件导入到项目的libs里。
二、新版本NDK的eclipse配置:
1、配置Eclipse与NDK关联:Preferences->Android->NDK->选择NDK解压路径(如:D:\ndk\android-ndk-r10e)
2、针对项目配置NDK环境:项目右键->Preferences->这里需要修改3个东西,如下:
(1)Builders中:New->Program->填写Builders名字、ndk-build.cmd路径、jni路径->OK
(2)C/C++ Build:
①取消选择Use default build command并在Build command中输入${NDKROOT}/ndk-build.cmd。
②C/C++ Build->Environment->Add->名字:变量名:NDKROOT和NDK路径(如:D:\ndk\android-ndk-r10e)
(3)C/C++ General->Paths and Symbols->Add->NDK目录下的C库路径(如:D:/ndk/android-ndk-r10e/platforms/android-17/arch-arm/usr/include):
完成这3项点击OK,到这里就可以编写jni代码了。
ndk1
3、附加一点,如果你打开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里的参数带到用户变量里来。
三、最后关于Android调用jni生成.so文件的问题请看下节