搭建cocos2d-x的android环境(学习笔记)

周末放假在家,闲来没事,试着自己搭建一下cocos2dx的android环境,用来熟悉cocos2dx的开发架构。历经两日的浴血奋战,终于将项目显示在了我的魅族MX上了。现将整个过程记录下来,一方面温故并总结,另一方面方便那些有同样需求的人。同时我要向cocos2dx的开发人员,表述一声,你们真心不容易啊,这么错综复杂的关系让你们整成框架,不容易啊。

 

本人操作系统为:32位 win 7旗舰版 service pack 1

cocos2d-x版本:2.1.5

 

1、安装JAVA 虚拟机(JDK),毕竟android采用的是JAVA语言,大部分软件都依赖于JAVA。

我的jdk版本:1.6.0_10-rc2

 

2、安装android开发所需的SDK,ECLIPSE,ADT,CDT

这个在官网已经有了现成的开发套件,当然你如果有耐性,或想了解其中的细节,并且耐性十足,家里带宽给力的话,可以自己手动去搭建。这里推荐用下面的连接直接下载。

下载完成后,解压就能直接使用。你可以试着写一个hello world的小程序,并用模拟器进行运行。

android版本:4.3

 

3、下载ndk,如果想在eclipse里开发c++程序,那就要下载这个部件

下载完后,解压到某个目录下即可。

然后设置环境变量 NDK_ROOT,指定到ndk解压后的根目录

 

4、安装cygwin

要知道android是运行在LINUX下的,如果想在window下编译LINUX所需的.so文件。那你得在WINDOWS下模拟一下linux环境,这时就要用到cygwin了。

对于常年在windows下打拼的人来说,这个就有点陌生了。

这个安装要耐心一点,我大概装了2个多小时。下面说下安装时的注意事项

 

下载后是个setup.exe文件,使用过程如下:

第一步:运行setup程序,第一步图略,直接点击Next进入下一步。

第二步:选择安装方式,第一次可以采用Direct Connection在线下载安装,如有现成的离线包,可以选择离线安装(Install from Local Directory)。

第三步:选择安装目录,比如d:\Cygwin,注意此目录是指Cygwin最终的安装目录,不是下载文件暂存目录。

第四步:设置本地包暂存路径。暂存目录默认是放到setup.exe的同级目录下,下载后名字类似http%3a%2f%2fbox-soft.com%2f这样格式。

第五步:设置网络连接方式,一般选择第1项

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

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

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

第六步:选择下载站点地址,我选的第1项

     1) Direct Connection:直接连接。

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

     3) Use HTTP/FTP Proxy:使用HTTP或FTP代理服务器进行连接(需要输入服务器地址、端口号)。

第七步:选择安装项,切莫全部安装,那个大小据说是近5G,否则不知道你要下到什么时候。每个包有四种状态(default, install, reinstall,uninstall)

我们编译NDK,在默认设置下,只需选择Devel(点击列表中Devel,将后面的Default改为Install,),其它均为默认状态。

第八步:等待下载完成,完成后,他会自动开始安装

第九步:测试cygwin是否安装成功。

cygcheck -c cygwin

gcc –v

g++  --version

make –version

gdb –version 

如果以上命令都能显示相应的版本信息,那就说明安装成功了 

 

 5、到此为止,所需的软件已经下载齐了。

首先申明我的目录结构

jdk目录:D:\java\jdk1.6.0_10

cocos2dx的目录:E:\cocos2d-x-2.1.5

cywin目录:D:\cygwin

ndk目录:D:\java\adt-bundle-windows-x86-20130917\android-ndk-r9

android sdk目录:D:\java\adt-bundle-windows-x86-20130917\sdk

eclipse目录:D:\java\adt-bundle-windows-x86-20130917\eclipse

 

6、给cygwin配置ndk,打开文件D:\cygwin\home\Administrator\.bash_profile

文件末尾添加以下信息,用来设置cygwin使用的环境变量NDK_ROOT

 

NDK_ROOT=/cygdrive/d/java/adt-bundle-windows-x86-20130917/android-ndk-r9
export NDK_ROOT

 

注意: 

我们的ndk目录是D:\java\adt-bundle-windows-x86-20130917\android-ndk-r9

这里为什么要填:/cygdrive/d/java/adt-bundle-windows-x86-20130917/android-ndk-r9

这是因为所有的windows文件夹都在cygwin中有相应的映射。
输入命令cd /cygdrive 然后回车,

接着输入命令ls,回车

则会显示所有以盘符名相应的小写字母命名的文件夹

所有WINDOWS目录在cygwin中的/cygdrive中找的到

 

7、修改 cocos2dx根目录下的create-android-project.bat

set _CYGBIN=D:\cygwin\bin

set _ANDROIDTOOLS=D:\java\adt-bundle-windows-x86-20130917\sdk\tools

set _NDKROOT=D:\java\adt-bundle-windows-x86-20130917\android-ndk-r9

在文件中找一下以上三个变量,修改完后保存。

 

8、运行刚才修改的create-android-project.bat

按提示输入包名com.fouru.flyman,项目名Flyman,以及android版本id

运行完后,会在cocos2dx根目录下以项目名生成一个新的文件夹E:\cocos2d-x-2.1.5\Flyman

 

9、启动cygwin.exe,进入新生成的android工程目录

输入:cd  /cygdrive/e/cocos2d-x-2.1.5/Flyman/proj.android

进入android工程目录

再输入:./build_native.sh

接着会出现一大串的文本信息,理论上是不会出什么错的。

Install        : libgame.so => libs/armeabi/libgame.so
当你看到如上信息时,就说明成功了。

 

10、打开eclipse,按下面的方法导入android工程

File->import->General->Existing Projects Into Workspace

输入工程所在目录:E:\cocos2d-x-2.1.5\Flyman\proj.android

导入后会提示一些错误:

错误1:找不到org.cocos2dx.lib.Cocos2dxActivity。这部分代码在E:\cocos2d-x-2.1.5\cocos2dx\platform\android\java\src下,你可以复制到现在的工程,也可以采用link Source的方式引用目录。

错误2:Classes目录,cocos2dx目录,extensions目录,这三个目录有红色的大感叹号。这是因为没有找到COCOS2DX的宏。在这些目录上右键->property->Edit->Variable..再里面添加一个新的变量:COCOS2DX,并指明目录:E:\cocos2d-x-2.1.5

理论上到现在就能排除所有的BUG了

 

11、调试程序

由于模拟器启动慢,我直接插上手机进行调试。打开USB调试功能,就和模拟器一样的效果了。

这时时候在ECLIPSE中启动程序,就能看到我们希望的画面了。而且可以进行相应的调试

 

12、制作keystore

启动命令行程序:cmd.exe

进入D:\java\jdk1.6.0_10\bin

输入keytool-genkey-aliasandroid.keystore-keyalgRSA-validity100000-keystoreandroid.keystore
参数意义:-validity主要是证书的有效期,写100000天;空格,退格键都算密码。
命令执行后会在D:\java\jdk1.6.0_10\bin目录下生成android.keystore文件。

 

13、生成apk包

第一步:选择要打包的项目,右键点击–>Android tools–>ExportSignedApplicationPackage

第二步:要打包的项目

第三步:选择生成的Eclipse Android.keystore文件并输入密码
第四步:再输入一次密码

第五步:最后选择生成androidapk文件的目录及文件名


14、自动生成apk包的批处理

这步先省略吧,尼马,太长了,以后有时间再处理。

 

最后要说下cocos2dx的用心良苦啊,实现了一套代码跨平台,事实上,开发人员必须了解每一个平台的特性的。

 



 

你可能感兴趣的:(android,cocos2d-x)