前言                                                                                                                

上次已经顺利的把所需要的环境都搭建完成了,下一步就是要创建具体的项目,然后开始学习

创建一个Android项目                                                                                          

打开Cocos2d-x的项目所在的路径,可以看到一堆项目的模板,我们要用的就是其中的 create-android-project.bat

13222704-20d63359a7014e15b9a505532226280e.png

这是个批处理程序,在开始执行之前,首先需要做一下修改,用Editplus等文本编辑器打开文件,找到如下几行代码

:: modify it to work under your environment     set _CYGBIN=E:\andriod\cygwin\binif not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4:: modify it to work under your environmentset _ANDROIDTOOLS=E:\andriod\androidsdk\toolsif not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5:: modify it to work under your environmentset _NDKROOT=E:\andriod\android-ndk-r8dif not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6

三个set_% 分别代表 cygwin, android sdk 和ndk的路径,按照自己的安装路径设置即可,上面是我设置好了的。

保存,退出。

还差一步,cocos2d-x有个问题,不会自动拷贝过去cocos2d-x 库,所以直接创建后面会出问题。需要修改一下项目模板。

今天下了个最新的cocos2d-2.0-x-2.0.3版本下来,才发现里面的模板设置与我写这个文章的时候不一样了,这个没有发现lib的原因是在这个版本,这个lib的java文件放到了cocos2d-2.0-x-2.0.3\cocos2dx\platform\android\java\src这个文件按夹下了,而不是tests\proj.android\src\org\cocos2dx\lib这个了,且不知道是不是写模板的脚本的bug,cocos2d-2.0-x-2.0.3\template\android这个路径下的copy_files.sh脚本,COCOSJAVALIB_ROOT这个变量所指的路径就是那个lib的java路径,而在copy_src_and_jni()这个函数里面,居然没有调用复制,所以在这个函数里面加一句cp -rf $COCOSJAVALIB_ROOT/src $APP_DIR/proj.android就可以了。

这次真的是好了,双击执行,输入要创建的项目信息,以及target sdk version.

注意:如果你是win7/8的用户,从这步开始,权限问题会不断的困扰你,建议直接开启管理员账户,省去无数烦恼,操作方法请点击

或者你可以参考 一点点的设置.

13223628-ed45d202d9224112b1d59873b6a543e8.png

创建完成之后,cocos2d-x目录下就会多了一个按照你的project Name命名的文件夹,打开它有三个目录,

13224246-a52d8f8006654a298041117114b6f83b.png

Resources是游戏的资源,Classes是项目共有的类,proj.android是编译成安卓项目所需的文件,对应的还有很多很多...

13224455-87c8ca6c7cf84d0596138d952b0fe845.png

在编写的时候,只要保证游戏的逻辑资源都在Classes目录,然后根据不同的平台,分别执行编译命令,就可以得到对应的App了。这就是cocos2d-x的妙处啊。

一开始不了解,还以为只是简简单单的不同平台语法相同呢,罪过啊罪过。

执行编译                                                                                                                

编译就需要用到cygwin了,前面一直没有说,cygwin是一款交叉编译工具,所谓交叉编译,就是在一个平台上编译针对于另一个平台的代码。

拿我们这个为例,在Windows下编译Android的项目,当然就是交叉编译啦。

打开cygwin,进入创建的demo的android项目文件夹,如下图

注:linux内核的 目录 没有windows下的 ’\‘ ,都是 ’/‘ , 需要注意自己替换。

13225314-bb9d9c5c65b9411ebaae817f259409f3.png

完成之后,回车,开始编译,这个时间比较长,我先接杯水,为一会儿阿森纳vs曼城 做一下准备,吼吼~

13232836-c8c4a7c7e0f843c182eb28cc0dd00c87.png

好了,出现上面的图就说明完成了,现在打开eclipse, 创建一个android工程,选择 ”Android project from existing code“ ,然后定位到我们的项目名那一级目录即可,比如我的是 “Demo”

添加完成之后,编译,运行,cocos2d-x的 "吉祥物" 就出现啦。(需要说明的是,为了减少不必要的麻烦,我没有用模拟器,直接上的真机,各位习惯于用模拟器的请搜索android开发教程中的模拟器的创建和使用

13235109-73bb60894b8f419584034dc90ee5290d.png

工程创建至此完成,下周开始搞一个简单的游戏,并部署我的粗粮手机上。

需要添加环境变量:NDK_ROOT