读书人

cocos2d-x 移植android平台及适配有关

发布时间: 2013-03-21 10:08:17 作者: rapoo

cocos2d-x 移植android平台及适配问题杂谈

首先是参考资料

老G的:cocos2d-x学习笔记06:如何将win32移植到android

日月之明的:Cocos2d-x学习之windows 7 android环境搭建


我的环境 XP+VS2010+cocos2d-2.0-x-2.0.4+Eclipse+Android SDK+CygWin

Android平台方面的环境如果你还没配置可参考上面的环境搭建教程,非常详细,相信大家能看懂


这章主要讲讲关于在win平台开发好cocos2d-x的游戏后如何移植到Android平台,由于cocos2d-x各个版本的不同,造成移植的方法或多或少存在一些差异,所以老G的文章在大意上是正确的,但一些细节却因为版本问题和我做的不一样。我也是看着资料摸索过来的,以下讲的内容我只能保证适应2.0.4版本,其他版本我就不敢说啦。


1、用文本编辑器打开cocos2d-x目录下的create-android-project.bat,我这里用的是Notepad++


2、编辑这三个变量,分别是Cygwin、Android SDK和NDK的目录,这个很简单

cocos2d-x 移植android平台及适配有关问题杂谈


3、双击运行cocos2d-x目录下的create-android-project.bat,首先输入包名,我用最近自己写的C++版MoonWarriors做例子


4、输入包名和项目名,按Android的习惯,包名一般全小写

cocos2d-x 移植android平台及适配有关问题杂谈


5、选择版本,我选定是6,2.2的,据我同事说如今2.1的用户其实已经非常少了

cocos2d-x 移植android平台及适配有关问题杂谈

程序运行完毕之后会帮我们创建3个文件夹

cocos2d-x 移植android平台及适配有关问题杂谈

proj.android放的是安卓的项目,Classes是放我们写的CPP文件和头文件的,Resources放资源文件


6、把Classes和Resources文件夹里的所有东西删除


7、把类文件和头文件考入Classes下,资源文件考入Resources目录下,其中main.cpp和main.h不需要考,使用资源时C++不区分大小写,可是Android是区分的,如果名字大小写不一致的话在android机上运行时会提示找不到资源文件,这点要注意

cocos2d-x 移植android平台及适配有关问题杂谈


cocos2d-x 移植android平台及适配有关问题杂谈


8、修改项目MoonWarriors\proj.android\jni下的Android.mk文件

要修改的地方如下
LOCAL_SRC_FILES:在这里加入你Classes下的cpp文件
LOCAL_C_INCLUDES:在这里添加你使用的库的h文件,如果有的话
LOCAL_WHOLE_STATIC_LIBRARIES:在这里添加你使用的库的lib文件,如果有的话

cocos2d-x 移植android平台及适配有关问题杂谈


9、运行cygwin,进入MoonWarriors\proj.android目录

cocos2d-x 移植android平台及适配有关问题杂谈


10、输入命令./build_native.sh

cocos2d-x 移植android平台及适配有关问题杂谈

cygwin就会为我们编译文件了,这个过程需要耗费一些时间


11、打开eclipse,选择file->import,选择Existing Projects into Workspace

cocos2d-x 移植android平台及适配有关问题杂谈

选择项目路径,点击Finish就可完成导入。

cocos2d-x 移植android平台及适配有关问题杂谈


12、右击项目,run as->android application,选择合适的模拟器即可跑起我们的项目

cocos2d-x 移植android平台及适配有关问题杂谈

cocos2d-x在2.0以后由于OPGELES的关系不支持4.0以下的模拟器,所以建议还是用真机调试,下面我我运行在小米1S上的情形

cocos2d-x 移植android平台及适配有关问题杂谈


至此移植工作就已经全部完成。


下面说点我的小经验:

1、win32的版本默认是横屏的,如果想要竖屏,可在eclipse中打开你的项目,找到AndroidManifest.xml,修改android:screenOrientation属性,

portrait是竖屏

landscape是横屏

2、关于屏幕适配,可查看我转载的一篇文章,讲得非常详细 cocos2d-x 屏幕适配原理分析


文章所写的东西只是我自己的理解,如果哪里出现错误,敬请斧正。

您可以留言、微博私聊我或Email我


我的微博:http://weibo.com/u/2007282737

我的Email:pengkailiao@gmail.com


本文所有内容均为原创,转载请注明出处 lpk:http://blog.csdn.net/lpkkk ,谢谢!



读书人网 >操作系统

热点推荐