刚刚接触Android jni时感到束手无策啊,特别是被android ndk 不同版本给弄糊涂了,现在给大家介绍一下,希望对刚入门的菜鸟们有帮助啊!老牛就可以飘过了啊!
一,准备工作
CDT Eclipse
二.安装Cygwin
我们将采用Cygwin去编译c,c++代码
1.到上面给出的地址下载,点击setup.exe安装。
2.给大家介绍安装过程要注意哪些问题,在这里我只介绍几个关键的步骤,其他点击下一步就ok了
选择下面这个地址进行下载安装
选择Devel Default 点成install 然后点击下一步
安装的过程可能要比较久,要看的网络速度,大家就耐心的等待,等待大功告成,哇哈哈!!
安装成功后打开桌面的上的Cygwin图标,进入Cygwin,我们随便测试几个命令,如果能看到下面效果,证明你成功了。
三、安装NDK
1.下载android-ndk-r5c (到2011-06时,最新的版本,这个与NDK r4之前的有很多不同,等下给大家介绍)
2.将android-ndk-r5c 解压 具体位置自己定
3.打开cygwin 进入到android-ndk-r5c 的根目录下,具体指令如下:
cd /cygdrive/d/android-ndk-r5c/ (我的ndk是在D:/android-ndk-r5c)
4.现在介绍ndk-r4之前,与之后版本的区别
1)r4之前的版本:
在第三步的基础上,输入build/host-setup.sh 如果出现下面的信息则表明安装成功
编译使用 make APP=hello-jni -B (hello-jni是ndk例子工程)
2)r4之后的版本:
自ndk r4版本后,不再需要在apps目录下建立工程了,也不再使用make APP=工程名方式来编译生成.so本地库了。
在ndk r4版本后,使用的是ndk安装目录下的ndk-build脚本来实现的编译。关于ndk-build的使用,文档中是这样说的,在
cygwin中输入项目的所在路径,然后使用$NDK/ndk-build来实现编译。
注意到上面使用了$NDK,这是NDK安装目录在cygwin中的环境变量。
下面就简单记录下如何在cygwin中设置windows中的某个目录为环境变量。
a、在桌面-》我的电脑-》属性-》高级-》环境变量-》用户变量-》找到HOME项,删掉。
b、在cygwin安装目录下找到home文件夹,打开,里面什么都没有。进入$cygwin/etc/skel下,复制一份.bash_profile文件。放 到
$cygwin/home/用户名/目录下。用户名是你的当前登录用户,可能是Administrator。
c、打开.bash_profile文件,在文件末尾加上:
NDK=/cygdrive/d/android-ndk-r5(这里写成Linux中文件路径形式,windows中对应的目录和文件被mount在cygwin目录下的cygdrive目录下)。
export NDK
d、运行cygwin,输入 cd $NDK,如何设置成功,则显示刚刚配置的路径。
e、测试ndk-build脚本,进入$NDK/sample/hello-jni项目下,运行$NDK/ndk-build
下面是使用r5c版本的NDK 运行的效果图