有人说,网上的环境配置一大堆,你还写做什么?一来,是我再次复习的材料。二来,网上有些地方说的不是很详细,我也是参考了好多资料,弄了半天才弄好环境。写下来,帮助后面的人省掉不必要的麻烦。下面进入正题。
作为一个2年的android攻城狮,今天才开始学习NDK的开发,太晚了。。毕竟是现用现学。学完还是写个博客记下来比较好,省的以后再忘记,又得重新来过。下面正式进入正题(难道上面都是说着玩玩的?)。
能看到NDK开发的人,应该android最基本的开发环境(Eclipse + JDK + SDK + ADT)都已经OK了。如果您还没有弄好,麻烦移步其他博客(比如,http://jingyan.baidu.com/article/f0062228f0b18afbd2f0c871.html),搭建完了之后再过来看。
NDK开发所需要的基本软件,除了Eclipse + JDK + SDK + ADT 之外,还需要如下软件:
·NDK 开发包。这是谷歌用于开发NDK程序发布的官方包。
·Cygwin(也许有其他的软件,比如GNUStep),用于在window上模拟linux开发环境的软件。我们主要用来make和编译C/C++文件。
·CDT(C/C++ Development Tools),Eclipse的C/C++开发插件。
下面就基于NDK + Cygwin + CDT做环境搭建的详细说明。(如果是用GNUStep,请移步http://www.eoeandroid.com/forum.php?mod=viewthread&tid=207213)
一。下载NDK开发包,并解压。
1.下载
NDK开发包下载,当然要到官网下载。官网地址:http://developer.android.com/sdk/ndk/index.html。
选择你操作系统的NDK版本下载。比如我的是win7-64的,就下载windows 64位的NDK。
可以看出windows 64位的有两个版本,毫不犹豫下载第一个比较大的开发包,肯定没有坏处。如果下载小的,说不定有的功能就没有了。
2.解压
随便解压到什么地方(放在..\中日文化交流\ 目录下都行),只要你找得到。
但是解压之后的路径,强烈建议不能包含空格。比如:C:\Program Files\android-ndk-r9b\,这是不建议的。为什么不建议有空格?因为我们要在控制台执行命令。路径里面有空格,在控制台操作时一般都会有点问题。
我就放在这个目录下:F:\JNI\env\android-ndk-r9b
NDK的操作就完成了。
二。下载Cygwin,安装所需库。
1.下载
也还是到官网下载比较靠谱。地址是:http://www.cygwin.com/。下载的地方如下图:
同样,选择32位还是64位下载是你的个人操作系统决定的。这里,我是下载的setup-x86-64.exe。
2.安装Cygwin。
双击setup-x86-64.exe,按红框选中Install from Internet。
填写安装地址。和上面一样,红框部分的路径最好不要有空格。下一步。
Local Package Directory,不需要修改,直接下一步。
就到了选择连接方式Select connection type。根据你的网络连接情况选择。一般是选择第一个Direct connection。然后下一步。
选择下载站点Select download site。你看着选,或者添加你自己的url。我是选择的mirrors.163.com。然后下一步。
下面就到了Select Package页面了。就是选择下载的包的页面。
这里,我们只需要下载三个包就行了:make , gcc-core , gcc-g++。
这里有四个操作。
① 点击view按钮,将显示模式改为Full。
② 在Search中,输入我们需要下载的包的名字。
③ 找到对应的包,点击Skip一次,出现方块或者有叉方块。
④ 重复步骤②和③,直到选中所有我们需要的包。
以上四步做完了,就下一步。
接下来是选择相关的包,打勾就行,下一步。然后就是下载所需的包。
然后就一直下一步就行了。
finish之后,点击桌面的快捷方式,打开命令行窗口。
(如果你的命令行颜色是黑底白字,不喜欢,可以改,右击选择options,里面有修改的选项。)
别忘了正事,打开这个,不是为了修改好看不好看的,而是验证Cygwin是否安装成功的。在窗口中分别输入以下两个命令:
make -v 和 gcc -v。如果出现一串信息,说明安装OK。
Cygwin安装比较繁琐,再总结一遍:1.安装路径不要包含空格。2.需要下载三个包:make,gcc-core,gcc-g++。3.安装完之后要验证一下有没有安装成功。
三。将NDK添加到Cygwin的build配置中。
这一步很简单。进入到你的Cygwin安装目录中,进入home/[你的用户名]/目录下,里面有个.build_profile文件。
如果没有这个文件,那么: /cygwin安装目录/etc/skel里面找,里面有3个文件
.bash_profile, .bashrc 和 .inputrc。 这三个文件是cygwin提供给所有用户的,接下来把这三个文件统统复制到自己的“用户directory”下,即 /cygwin安装目录/home/ [你的用户名] 下
备注:补充下,原作者是.build_profile文件,我实际操作是打开.bash_profile文件。
用记事本打开。在文件的末尾,添加以下两行句子并保存:
NDK=f:/JNI/env/android-ndk-r9b
export NDK
这里解释一下:NDK=f:/JNI/env/android-ndk-r9b 这个就是你的NDK解压的目录(注意:这里的反斜杠是/,而不是\。linux下的反斜杠和windows下不同。我就是因为这个不对,搞了半天。。还有一点,=后面可不能加空格!)
注意:添加完之后,如果你的Cygwin窗口是开着的,把它关掉重新打开。(我又在这里被坑了10来分钟。。)
打开之后,验证是否配置成功。输入
cd $NDK
如果进入你的ndk目录,那就说明OK了。
到这里,NDK和Cygwin都安装OK了。下面打开Eclipse,安装CDT。
四。安装CDT。
CDT,是Eclipse的C/C++编辑插件。因为是JNI,会编写C/C++,装一下挺好的。如果你不想装,也是OK的,你可以记事本写,或者Visual Studio写。哪怕你用针刻出C的代码,只要能写对就行。
Eclipse安装插件的方法都一样,help->Install New Software。
下面是输入CDT下载地址:http://download.eclipse.org/tools/cdt/releases/kepler。勾选Main的,Optional的看自己的需要。
然后就一直下一步,什么同意协议啦,什么restart啦,都听他的。
restart之后,新建工程时,看看有没有C/C++ Project。如果有,说明安装OK。
写了这么多,NDK开发的环境终于OK了。下面就开始写NDK代码啦~~~
下篇再写吧。太多了,看不了。