网上看了很多人这方面的帖子,基本都是基于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部分的代码了。