网上看了很多人这方面的帖子,基本都是基于r3以前的版本,因为Android NDK r4是近期发布,其中有些改变,所以将此安装过程重新梳理。
安装环境Windows 7 64bit (之前在Ubuntu Desktop中安装过 android NDK 好像是r3版本,当时处于好奇,此次安装是为了尝试调试一个程序)
相比Ubuntu下载的安装 Windows环境安装还是稍微复杂些。
1. 下载android NDK r4 Windows 安装包,解压缩到你想放的位置,例如:d:\android
2. 安装cygwin,1.7以上版本,一个模拟的linux环境,安装中需要选择你要安装的Linux相关组件,参照之前网上相关文章,安装以下包
-
autoconf2.1
-
automake1.10
-
binutils
-
gcc-core
-
gcc4-core
-
gdb
-
pcre
-
pcre-devel
- GNU awk
如果后续有缺包,可以在继续安装。我把看似需要的(c/c++的)都装了,呵呵。
安装好后,运行cygwin,使用过linux朋友们,应该不会陌生。
3. 可以在cygwin中通过vim修改,也可以在windows安装目录中修改 home\<你的用户名>\.bash_profile 文件中最后添加环境变量
NDK=/cygdrive/<你的盘符>/<android ndk 目录> 例如:NDK=/cygdrive/d/android/android-ndk-r4-windows
export NDK
其中"NDK"这个名字随便起,因为后面要用经常使用,建议不要太长。
重启cygwin,输入cd $NDK进入对应目录,就成功了。
后面不一样的地方来了:
以前是 输入 build/host-setup.sh。 编译安装NDK本地环境。
更新, r4版本后,不再需要这个句话
看看NDK doc目录中OVERVIEW.TXT 说明
Previous releases required that you run the 'build/host-setup.sh'
script to configure your NDK. This step has been removed completely
in release 4
所以说,仔细看官方文档很重要,呵呵,再我开始研究android后,体会更深了。
4. 现在已经可以编译JNI目录中的文件了,JNI是什么!? 这个我就不多说了,最直观的就是android 项目中,jni文件目录中存的就是用c/c++写的相关程序,需要利用NDK编译的。
编译很简单,在cygwin中进入你的android项目目录(在cygdrive这个目录下),运行 $NDK/ndk-build
实际就是运行ndk目录中的一个可以执行脚本。
正常编译后会在你的项目目录中生成 对应的 .so文件 并放到 libs/armeabi目录中
尝试编译一下,android NDK samples中的例子文件吧
最后,我们再回到Eclipse或则你的编译环境中,整体编译android项目,就可以正常运行JNI部分的代码了。