cocos2d-x之android编译环境搭建(第二篇)[版本号:cocos2d-x-3.1.1]


基于 Android NDK 的学习之旅-----环境搭建

工欲善其事 必先利其器 , 以下介绍下 Eclipse SDK NDK Cygwin CDT 集成开发环境的搭建。

1、Android 开发环境搭建

Android开发环境搭建不是重点,相信看此文章的非常多人都已经搭建成功,这里随便概述性的说说。

1)      下载 JDK

2)      下载 Eclipse

3)      下载 Android SDK

4)      启动Eclipse , 安装 ADT

2、下载安装Android NDK

NDK下载戳这里: https://dl.google.com/android/ndk/android-ndk-r9d-windows-x86.zip

3、下载安装cygwin

     因为NDK编译代码时必需要用到make和gcc,所以你必须先搭建一个linux环境。 cygwin是一个在windows平台上执行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,很实用。

通过它,你就能够在不安装linux的情况下使用NDK来编译C、C++代码了。以下我们一步一步的安装cygwin吧。

 (安装的时候忘记截图了)

首先。你得先跑到http://www.cygwin.com下载setup.exe

1、 然后双击执行吧,执行后你将看到安装向导界面:

2、  点击下一步

     此时让你选择安装方式:

           1)Install from Internet:直接从Internet上下载并马上安装(安装完毕后,下载好的安装文件并不会被                   删除。而是仍然被保留。以便下次再安装)。

           2)Download Without Installing:仅仅是将安装文件下载到本地。但临时不安装。

           3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的文件夹进行安装。

3、选择第一项,然后点击下一步:

4、选择要安装的文件夹,注意,最好不要放到有中文和空格的文件夹里,似乎会造成安装出问题,其他选项不用变。                  之后点下一步:

5、上一步是选择安装cygwin的文件夹,这个是选择你下载的安装包所在的文件夹,默认是你执行setup.exe的目                      录。直接点下一步就能够:

6、此时你共同拥有三种连接方式选择:

     1) Direct Connection:直接连接。

     2) Use IE5 Settings:使用IE的连接參数设置进行连接。

     3) Use HTTP/FTP Proxy:使用HTTP或FTP代理server进行连接(须要输入server地址、port号)。

          用户可依据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。然后               再点击“下一步”,

7、 这是选择要下载的网站,我用的是http://mirrors.kernel.org,速度感觉还挺快。选择后点下一步

8、 此时会下载载入安装包列表

9、Search是可以输入你要下载的包的名称。可以高速筛选出你要下载的包。

那四个单选button是选择下边树的样式,默认即可,不用动。View默认是Category,建议改成full显示所有包再查,省的一些包被隐藏掉。左下角那个复选框是是否隐藏过期包。默认打钩。不用管它即可。下边開始下载我们要安装的包吧。为了避免所有下载,这里列出了后面开发NDK用得着的包:autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make共12个包

10、  然后開始选择安装这些包吧。点skip。把它变成数字版本号格式,要确保Bin项变成叉号,而Src项是源代码,这个就不是必需选了。

11、  以下測试一下cygwin是不是已经安装好了。

      执行cygwin,在弹出的命令行窗体输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本号和执行状       态,假设status是ok的话。则cygwin执行正常。

      然后依次输入gcc –version,g++ --version,make –version,gdb –version进行測试(或,输入make -v 和 gcc -v ),假设都打印出版本号信息和一些描写叙述信息,很高兴的告诉你,你的cygwin安装完毕了!

4、配置NDK环境变量

1、  首先找到cygwin的安装目录,找到一个home<你的username>.bash_profile文件,我的是:E:cygwinhomeAdministrator.bash_profile,(注意:我安装的时候我的home目录以下神马都没有。解决的办法:首先打开环境变量。把里面的用户变量中的HOME变量删掉,在E:cygwinhome目录下建立名为Administrator的目录(是username),然后把E:cygwinetcskel.bash_profile复制到该目录下)。

2、  打开bash_profile文件。加入NDK=/cygdrive/<你的盘符>/<android ndk 文件夹> 比如:NDK=/cygdrive/e/android-ndk-r5

export NDK

NDK这个名字是随便取的,为了方面以后使用方便。选个简短的名字,然后保存

3、打开cygwin。输入cd $NDK,假设输出上面配置的/cygdrive/e/android-ndk-r5信息,则表明设置环境变量成功了。

5、用NDK来编译程序  

1、  如今我们用安装好的NDK来编译一个简单的程序吧,我们选择ndk自带的样例hello-jni,我的位于E:android-ndk-r5sampleshello-jni(依据你详细的安装位置而定),

2、 执行cygwin。输入命令cd /cygdrive/e/android-ndk-r5/samples/hello-jni,进入到E:android-ndk-r5sampleshello-jni文件夹。

3、 输入$NDK/ndk-build,运行成功后,它会自己主动生成一个libs文件夹,把编译生成的.so文件放在里面。

($NDK是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序)

4、  此时去hello-jni的libs文件夹下看有没有生成的.so文件,假设有。你的ndk就执行正常啦!

6、在eclipse中集成c/c++开发环境

   1、 装Eclipse的C/C++环境插件:CDT,这里选择在线安装。

         首先登录http://www.eclipse.org/cdt/downloads.php,找到相应你Eclipse版本号的CDT插件的在线安装地址。

  2、  然后点Help菜单,找到Install New Software菜单

  3、  点击Addbutton。把取的地址填进去。出来插件列表后,选Select All。然后选择下一步就可以完毕安装

  4、  安装完毕后,在eclispe中右击新建一个项目。假设出现了c/c++项目,则表明你的CDT插件成功安装啦。

7、配置C/C++的编译器

  1、  打开eclipse,导入ndk自带的hello-jni样例,右键单击项目名称,点击Properties,弹出配置界面,之后再点击Builders,弹出项目的编译工具列表。之后点击New,新加入一个编译器。点击后出现加入界面。选择Program,点  击OK

  2、出现了加入界面。首先给编译配置起个名字。如:C_Builder

  设置Location为<你cygwin安装路径>inash.exe程序,比如:E:cygwininash.exe。设置Working Directory为<你cygwin安装路径>in文件夹,比如:E:cygwinin

  设置Arguments为

  --login -c "cd /cygdrive/I/JavaWorkSpace/Blog/NDK_02 && $NDK/ndk-build"

 上面的配置中 /cygdrive/I/JavaWorkSpace/Blog/NDK_02是你当前要编译的程序的文件夹,$NDK是之前配置  的ndk的环境变量,这两个依据你详细的安装文件夹进行配置,其它的不用变,Arguments这串參数实际是  给bash.exe命令行程序传參数。进入要编译的程序文件夹,然后执行ndk-build编译程序

3、接着切换到Refresh选项卡,给Refresh resources upon completion打上钩

 

 

4、然后切换到Build Options选项卡,勾选上最后三项

 

 

5、之后点击Specify Resourcesbutton,选择资源文件夹。勾选你的项目文件夹就可以

 6、  最后点击Finish,点击OK一路把刚才的配置都保存下来,注意:假设你配置的编译器在其他编译器下边。记得一定要点Upbutton,把它排到第一位。否则C代码的编译晚于Java代码的编译。会造成你的C代码要编译两次才干看到最新的改动

 7、  这一路下来肯定非常累了吧,如今再次恭喜你。编译配置也配置完毕啦,如今来測试一下能否够自己主动编译呢,打开项目jni文件夹里的hello-jni.c文件把提示Hello from JNI!改成其它的文字:如:Hello。My name is alex.,然后再模拟器中执行你的程序。假设模拟器中显示了你最新改动的文字。那么Congratulations!

你已经所有配置成功啦!

  文章參考 http://yueguc.iteye.com/blog/946724


原文地址:https://www.cnblogs.com/slgkaifa/p/6930748.html