Creating an iOS and Android Cocos2D-x 2.1.1 hybrid project

由于cocos2d-x 2.1.1版本的build规则与之前有较大差别,所以在iOS项目跟android项目代码整合方面花了一些时间。

特别声明:本文创建的是cocos2dx project,非特殊项目,例如Box2D project。如果你需要的是Box2D project,自行参考处理。

参考了以下文章

http://gameit.ro/2012/01/creating-an-iphone-and-android-cocos2d-x-hybrid-project-updated/

http://www.himigame.com/cocos2dx-v2-0/962.html

先将整合步骤整理如下:

1、分别创建iOS project 和android project。(略)

2、将android project目录下的 proj.android 拷贝到 iOS project下,并重命名为android。操作完成后,新的目录如



 

3、将 cocos2dx/platform 下的 h和cpp 文件拷贝到 {PROJECT_LOC}/libs/ cocos2dx/platform,无需递归子文件夹

4、将 cocos2dx/platform/andriod 拷贝到 {PROJECT_LOC}/libs/ cocos2dx/platform

5、将 cocos2dx/platform/third_party/andriod 拷贝到  {PROJECT_LOC}/libs/ cocos2dx/platform/third_party

6、将 cocos2dx/support/user_default 下的 CCUserDefaultAndroid.cpp、CCUserDefault.cpp 拷贝到  {PROJECT_LOC}/libs/ cocos2dx/support/user_default

7、将 CocosDenshion/andriod 拷贝到 {PROJECT_LOC}/libs/CocosDenshion/andriod

8、将 extensions/GUI/CCEditBox 拷贝到 {PROJECT_LOC}/libs/extensions/GUI/CCEditBox

9、将 cocos2dx/Android.mk 拷贝到  {PROJECT_LOC}/libs/ cocos2dx,无需修改。

10、将 extensions/Android.mk 拷贝到 {PROJECT_LOC}/libs/extensions,由于非Box2D项目,在这里我删除了一下内容

$(call import-module,external/Box2D)

$(call import-module,external/chipmunk)

 

11、修改 {PROJECT_LOC}/android/build_native.sh

COCOS2DX_ROOT="../libs"

APP_ROOT="../"

APP_ANDROID_ROOT="$APP_ROOT/android"

12、在 {PROJECT_LOC}/android 目录下添加 makefile

1) vi makefile

2) 输入以下内容



 3) 保存,退出。

4) 在当前目录执行命令 make clean 如果看到以下结果,则表示命令正常



 

13、确认NDK_ROOT 是否已经配置



 

14、在 {PROJECT_LOC}/android 目录下执行命令 ./build_native.sh 


看到 Install        : libgame.so => libs/armeabi/libgame.so

就表示你成功了。

剩下的就是将android项目添加到eclipse中,这方面的资料很多。请自行搜索。

猜你喜欢

转载自song020cn.iteye.com/blog/1879059