一.环境配置


(一)IOS环境配置




1.下载最新的cocos2d-x 2.2.0 ​​http://cocos2d-x.org/projects/cocos2d-x/wiki/Download​

  还需要下载cocos2d-x 2.1.5 直接搜索就能找到 这里有个百度网盘的:

 ​​http://pan.baidu.com/share/link?shareid=228883340&uk=3909187214​

2.下载xcode

(二)Android环境配置

1.下载eclipse ​​http://developer.android.com/sdk/index.html​

2.下载ndk ​​http://developer.android.com/tools/sdk/ndk/index.html​

3.运行eclipse,如果没有安装jdk,第一次运行时候,会提示安装jdk

4.打开终端 用vim打开环境变量配置文件,输入



vim ~/.bash_profile



输入i进行编辑



export COCOS2DX_ROOT=/Users/fi/Documents/MyD/cocos2d-x/cocos2d-x-2.2.0export NDK_ROOT=/Users/fi/Documents/MyD/android-ndk-r9export ANDROID_NDK_ROOT=/Users/fi/Documents/MyD/android-ndk-r9export ANDROID_SDK_ROOT=/Users/fi/Documents/MyD/adt-bundle-mac-x86_64-20130917/sdkexport PATH=$ANDROID_NDK_ROOT:$PATHexport PATH=$ANDROID_SDK_ROOT:$PATHexport PATH=$PATH:"/Users/fi/Documents/MyD/adt-bundle-mac-x86_64-20130917/sdk/platform-tools"

按esc,再命令

:wq

 里面的路径对应你相应的下载路径

如果找不到bash_profile 参考​​http://linuxp.blog.163.com/blog/static/170962772012310492482/​

启动终端Terminal

进入当前用户的home目录

输入cd ~

创建.bash_profile

输入touch .bash_profile

编辑.bash_profile文件

输入open -e .bash_profile

保存文件,关闭.bash_profile

更新刚配置的环境变量

输入source .bash_profile


7.创建android项目(cocos2d-x2.2.0新方式)

打开终端,cd到你下的project-creator的目录下,如/Users/fi/Documents/MyD/cocos2d-x/cocos2d-x-2.2.0/tools/project-creator

执行

./create_project.py

下面有一些系列的参数输入格式,你按照你的需要就行了,如:./create_project.py -project firstsss -package com.firstp.ppp -language cpp

8.由于cocos2d-x2.2.0版本有些奇怪,需要用到2.1.5版本的生成一样名字的项目里面的 .cproject文件才可以跟ecplise兼容

打开终端,cd到 文件目录/cocos2d-x/cocos2d-x-2.1.5 如/Users/fi/Documents/MyD/cocos2d-x/cocos2d-x-2.1.5

运行

./create-android-project.sh

Input package path. For example: org.cocos2dx.example

输入跟2.2生成项目同样的包名 ,如

com.firstp.ppp

input target id:

输入最高版本的Android id :

17

input your project name:

输入项目名称:

输入跟2.2生成项目同样的包名 如

firstsss

成功之后 cocos2d-x 2.1.5的目录下多了一个firstsss的项目文件夹


先打开eclipse,打开eclipse File->New->Project...->Android Project from Existing Code ->next ->Browse 

选择2.1.5生成的项目文件 /Users/fi/Documents/MyD/cocos2d-x/cocos2d-x-2.1.5/projects/firstsss->Finish右键fisrtsss项目->Android Tools -> Add Native Support -> Finish这样才会有.cproject文件

打开终端 cd /Users/fi/Documents/MyD/cocos2d-x/cocos2d-x-2.1.5/firstsss/proj.android

复制.cproject文件,由于.文件是隐藏文件需要在终端复制,才能复制到cocos2d-x-2.2.0/projects/firstsss/proj.android/cproject的目录里

cp .cproject  ~/Documents/MyD/cocos2d-x/cocos2d-x-2.2.0/projects/firstsss/proj.android



9.打开eclipse File->New->Project...->Android Project from Existing Code ->next ->Browse 

选择2.2生成的项目文件 /Users/fi/Documents/MyD/cocos2d-x/cocos2d-x-2.2.0/projects/firstsss

->Finish

还要再添加一个项目File->New->Project...->Android Project from Existing Code ->next ->Browse 

选择路径  /Users/fi/Documents/MyD/cocos2d-x/cocos2d-x-2.2.0/cocos2dx/platform/android/java

->Finish

作为一个项目添加进来, 即可解决报错问题.

如果项目再报错的话,把 firstsss 项目删掉,重新再导入就好了,删除的时候注意别选勾 ,勾了就完全删除,就没得重新导入了,那就蛋疼了


10.一些奇怪的错误

(1)如果出现NDK_MODULE_PATH之类的错误的话

将 cocos2d-x/cocos2d-x-2.2.0目录下的cocos2dx ,CocosDenshion , extensions ,external四个文件 复制到  android-ndk-r9/source 目录下

还有将 cocos2d-x/cocos2d-x-2.2.0/cocos2dx/platform/third_party/android目录下的5个文件复制到android-ndk-r9/source 目录下

(2)如果出现java.lang.IllegalArgumentException: No configs match configSpec 这样的错误的话

模拟器不支持OpenGL ES 2.0

是因为android模拟器不支持OpenGL ES 2.0,解决办法:创建模拟器时:GPU emulation选yes,需要android 4.0以上的版本才行。使用真机没有这个问题。


(3)如果运行之后,画面是黑色的话

将cocos2d-x/cocos2d-x-2.2.0/projects/firstsss/Resources 目录下的3张贴图复制到cocos2d-x/cocos2d-x-2.2.0/projects/firstsss/proj.android/assets

11.还有一个奇怪的问题

就是在ecplise项目里面的Classes 文件夹居然打不开,不能展开,看不到文件夹里的代码文件。用文件浏览就能看到的那些代码文件,也不会报错,就是项目文件夹里有个感叹号。解决方案:​​http://kzq163.blog.163.com/blog/static/136137676201392923157506/​

 

废话不多说直接进正题,首先是准备工作:(我是win7的系统,下面都是基于windows系统的操作)

1.下载cocos2dx,地址:​​http://www.cocos2d-x.org/download​​,选择2.2.2或者其他2.x,为什么不选3.0版本,一是 3.0还是beta,不稳定;二是目前大部分的中文文档都是2.x的,你懂的。

2.下载并安装visual studio 2012(08,10,13都是可以的),如果没特殊需求的话,express版即可满足开发需要,地址:​​http://www.microsoft.com/zh-cn/download/details.aspx?id=34673​​,个人觉得没有必要什么都安装旗舰版。

好了,最基本的工作就做好了,现在解压cocos2dx的压缩包,比如解压到:D:\Code\game_dev,打开D:\Code\game_dev\cocos2d-x-2.2.2\cocos2d-x-2.2.2,在该目录下找到对应的vs版本的解决方案文件,我这里就是:cocos2d-win32.vc2012.sln,用vs打开,应该是这个样子的

Mac下 Xcode5+,cocos2d-x2.2(或者cocos2d-x2.1.5)Android,eclipse(2013 September版本)跨平台环境配置以及创建跨平台项目_Android

然后生成整个解决方案,这个时间可能有点久,全部生成完毕后,其中“hellocpp”,“testcpp”这两个工程可以打开看下,一个cocos2dx的类似hello world的简单界面,另一个则是cocos2dx的各种api的展示。这次的目标就是将hellocpp在android机器上跑起来。(PS:如果有人的vs2012打开解决方案时出现加载失败的话,给vs2012升级下就好了)

下面开始说明如何生成一个能在android手机上可以运行的cocos2dx的应用。首先确认电脑上已经有完整的android开发环境,eclipse + ADT + NDK。NDK推荐新版本,老版本可能还需要cygwin才能编译so,新版已经可以直接运行在windows环境。

1.cocos2dx2.2版本中已经无法通过安装vs项目模板的方法创建工程,取而代之的是使用python脚本来生成工程,具体做法如下:打开cocos2dx的目录:D:\Code\game_dev\cocos2d-x-2.2.2\cocos2d-x-2.2.2\tools\project-creator,运行命令:

python create_project.py -project HelloCocoStudio -package com.john.test -language cpp,参数说明:-project [项目名称] -package [包名,要三层,否则会出错] -language [开发语言]。这里要注意python的版本不能是3.x,否则会出错,推荐2.7.3版本。

2.执行完成后,会在目录:D:\Code\game_dev\cocos2d-x-2.2.2\cocos2d-x-2.2.2\projects下生成项目HelloCocoStudio,在项目目录下会有如下的子工程

Mac下 Xcode5+,cocos2d-x2.2(或者cocos2d-x2.1.5)Android,eclipse(2013 September版本)跨平台环境配置以及创建跨平台项目_2d_02

各种能支持c++开发平台的工程都在这里了,win32的工程可以直接用vs打开编译就能运行了

Mac下 Xcode5+,cocos2d-x2.2(或者cocos2d-x2.1.5)Android,eclipse(2013 September版本)跨平台环境配置以及创建跨平台项目_android_03

android版本则需要进行一些改动,首先是需要将项目目录Resources目录下的资源全部拷贝到android工程的assets目录中,assets没有的话就新建一个。其次是要将D:\Code\game_dev\cocos2d-x-2.2.2\cocos2d-x-2.2.2\cocos2dx\platform\android\java\src下的代码拷贝中android工程的src目录下,这样android工程就调整好了。

接下来需要编译android目录下的so库,这里需要修改下jni目录下的Android.mk,Application.mk文件,Android.mk文件中需要添加:

Mac下 Xcode5+,cocos2d-x2.2(或者cocos2d-x2.1.5)Android,eclipse(2013 September版本)跨平台环境配置以及创建跨平台项目_Android_04

否则会因为找不到关键文件出现编译错误,Application.mk文件则需要添加cpu类型(不加的话默认只有armeabi,我这里生成了两个,当然还有其他类型,不过我没有这些机器):

Mac下 Xcode5+,cocos2d-x2.2(或者cocos2d-x2.1.5)Android,eclipse(2013 September版本)跨平台环境配置以及创建跨平台项目_Android_05

然后使用NDK工具编译so(NDK使用请参见官方文档),编译完成后,就可以用eclipse打开工程编译生成apk,然后安装到android机器上运行:

Mac下 Xcode5+,cocos2d-x2.2(或者cocos2d-x2.1.5)Android,eclipse(2013 September版本)跨平台环境配置以及创建跨平台项目_Android_06

我是Nexus7所以看上去有点怪。至此,第一个cocos2dx的android应用就跑起来了,有没有一点点小激动呢?cocos2dx的开发个人更倾向于先使用vs开发调试,然后在编译成其他平台的应用。



如果遇到Installation error: INSTALL_CANCELED_BY_USER;
因为锁屏的缘故;