cocos2d火了一段时间了

这个引擎开发手机游戏很不错

自己也要开始学一下

花了几天时间搭建环境

感觉还是挺麻烦的

写下来总结一下

 

这一篇的内容详细讲解了如何搭建环境,并编译cocos2d-x自带的HelloCpp工程,最后得到apk

 

1.开发环境准备

winxp

cocos2d-x-2.2.1

cygwin

android SDK(附带eclipse)

android-ndk-r9b

 

下面我们来各个击破!

 

1.cocos2d-x-2.2.1

这个没什么好说的,当前最新的版本

下载地址http://www.cocos2d-x.org/download

 

2.cygwin

cygwin可以在windows上运行.sh脚本文件

在编译安卓平台的apk时需要使用.sh文件,因此需要装一个cygwin

下载地址http://www.cygwin.com/

下载完后还需要安装一堆东西

步骤如下

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

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

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

第四步:设置本地包暂存路径。暂存目录默认是放到setup.exe的同级目录下,建议放到指定的文件夹,如D:\Cygwin_install_file。安装完成后把这个文件夹打包备份,以后再配置时不用重新下载。

第五步:设置网络连接方式。这个目前河蟹没爬过来,选第一个即可。

第六步:选择下载站点地址。据说国内163站点的速度不错,我也是用的这个。

第七步:等待加载安装项载入,选择安装项。点击Devel-Default,使之变成Devel-Install,展开后可以看到其下的子项被选中了(网上多数教程都说选中某12个包,找起来太坑爹了,直接全下载了吧,全选多了150M左右)。此界面其他设置都不用动。

第八步:等待下载完成。下载完成时间决定于你选择的安装包数量及网络连接速度,安装我安装的版本,约983M,下载完成后会自动安装到上文设置的安装目录,安装也要时间的,总时间较长,去吃个饭没啥问题。

提醒:第四步的备份建议,尽量去做。如果有备份,第二步中选择离线安装。

验证:

运行安装目录下的“Cygwin.bat”,第一次运行时,它会自动创建用户信息,用户信息存放在“.\Cygwin\home”中。

在运行“Cygwin.bat”打开的命令行窗口输入:“cygcheck -c cygwin”命令,会打印出当前Cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。

分别输入:“make –v”和,“gcc –v”命令如果检测成功,会有make和gcc相关版本信息打印出来。

这一段文字有点多,但照此一步一步来应该是不会有任何问题!

参考[1]http://www.cnblogs.com/baronzhao/archive/2012/07/10/2585181.html

注意该文中配置NDK的部分并不适合cocos2d-x!

下文我会提到环境变量的配置

 

3.Android SDK

下载地址

http://developer.android.com/sdk/index.html

里面自带eclipse也是需要用到的

下面讲一下如何配置eclipse

 

第一步 安装CDT

运行eclipse --> Help --> Install New Software...

点击Work with右边的下拉框选择Juno

在下拉框中选择Programming Languages --> C/C++ Development Tools

这就是传说中的CDT,把它安了

 

第二步 配置Windows环境变量

右击我的电脑 --> 高级系统设置 -->环境变量

进去你会看到 变量PATH

修改它的值,把cygwin/bin目录也整进去

如图,加前面后面都一样

windows环境变量配置这一处就够了

 

第三步 修改cygwin

Add this line `none /cygdrive cygdrive binary,noacl,posix=0,user 0 0` to `Cygwin\etc\fstab` file.

翻译一下,就是在cygwin安装目录安这个路径Cygwin\etc\fstab找到fstab这个文件

打开这个文件在后面加一行none /cygdrive cygdrive binary,noacl,posix=0,user 0 0

 

第四步 配置eclipse

打开eclipse

Window->Preferences->General->Workspace->Linked Resouces

New一条记录Name为COCOS2DX,Value就是Cocos2D-x的目录

如图

 

第五步 eclipse中C++环境变量配置

还是在eclipse中

Window->Preferences->C/C++->Build->**Environment**.
* Click **Add** button and add a new variable `NDK_ROOT` pointing to the root NDK directory.
* Add new variables **CYGWIN** with value `nodosfilewarning`and **SHELLOPTS** with value `igncr`

懒得写了,一共加了这三个环境变量,一个是路径两个是值,如图所示

 

第六步 添加libcocos2dx工程

1. File->New->Project->Android Project From Existing Code.
2. Click **Browse** button and open `cocos2d-x/cocos2dx/platform/android/java` directory.
3. Click **Finish** to add project.

如图

 

ADT eclipse 的配置就是这些,主要是配置eclipse

以及cygwin还有windows环境变量

个人觉得这是本文最销魂的部分,自己整了好久

这部分参考[2]了cocos2d-x示例程序中的readme.md文件

cocos2d-x-2.2.1\samples\Cpp\HelloCpp\proj.android\README.md

写的很详细

 

4.Android NDK

NDK非常简单下载解压就行了,没什么可说的.下载地址

http://developer.android.com/tools/sdk/ndk/index.html

 

 

 

2.编译生成HelloCpp.apk

OK 经过了漫长的准备,下面我们来编译程序

前戏做好之后后面就剩水到渠成

1. File->New->Project->Android Project From Existing Code
2. **Browse** to your project directory. eg: `cocos2d-x/cocos2dx/samples/Cpp/HelloCpp/proj.android/`
3. Add the project 
4. Click **Run** or **Debug** to compile C++ followed by Java and to run on connected device or emulator.

一共就四步,和我们刚才添加libcocos2dx工程很相似

找到你要添加的示例工程

加进来之后就开始自动编译了

右键点击工程选择

Run As --> Android Application

就可以生成APK

在模拟器上有可能跑不了,没关系不管它

有事会在Run之前就报错 安卓版本错误之类的

把eclipse关了再开就好了 = =

生成的APK在哪?

如果一切正常,你可以在这个地方找到它

cocos2d-x-2.2.1\samples\Cpp\HelloCpp\proj.android\bin

 

 

Cocos2D-x号称一份代码到处运行

跨平台跨的风生水起

但同时感觉编译难度对菜鸟来讲也着实不小

仅仅开发环境就要下载几个G

万事开头难,好在Cocos2D-x异常火热,网络上有众多教程

使我们遇到问题时不至太无助

 

 

----------------------------------

----------------------------------

At Cocos2d-x3.5

 

相比原来的操作,多了以下几步

 

1.ANT安装

2.补充LOCAL_SRC_FILES(一开始只有main.cpp和AppDelegate.cpp , 无论2.x还是3.x都需要把要编的填好)

LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/ClippingSprite.cpp \
../../Classes/ClippingTest.cpp \
../../Classes/GLCubeVAO.cpp \
../../Classes/GLGray.cpp \
../../Classes/GLQuadVAO.cpp \
../../Classes/GLTextureTest.cpp \
../../Classes/GLTextureVAO.cpp \
../../Classes/GLTriangle.cpp \
../../Classes/GLTriangleVAO.cpp \
../../Classes/UVSprite.cpp \
../../Classes/UVSpriteTest.cpp

3.在工程目录下运行cmd运行以下代码编译生成apk

cocos compile -p android 

 

----------------------------------

参考资料

[1].http://www.cnblogs.com/baronzhao/archive/2012/07/10/2585181.html

[2].cocos2d-x-2.2.1\samples\Cpp\HelloCpp\proj.android\README.md