博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2d-x学习笔记06:如何将win32移植到android
阅读量:6886 次
发布时间:2019-06-27

本文共 1695 字,大约阅读时间需要 5 分钟。

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

本文主要讨论如何将一个win32项目,移植到android上面,网上很多文章说的不一样,因为cocos2d-x的android项目配置方法好像修改过几次(好像?我没用过老版的),本文提供一种简单的方法。
第零步:配置android工程生成器
#1用ue之类的编辑器打开
cocos2d-x目录下的
create-android-project.bat
#2编辑这三个变量
 

意思太明白了,就不解释了
第一步:建立android工程
#1运行cocos2d-x目录下的create-android-project.bat
#2然后首先输入包名和项目名。
注意有坑!这会删除和覆盖你在cocos2d-x安装目录下同名文件夹,如果你建立了一个同名项目(有的话一般是win32的)的话。
#3然后输入支持系统版本,android是向下兼容的。我这里写5,也就是android2.1-update1
然后项目就建立好了,你会发现在cocos2d-x安装目录下,多了个Test文件夹
 
第二步:导入代码和资源
#1打开Test
#2我们看到有三个文件夹,其中android就是android项目文件夹
把你win32项目里的Classes拷贝到当前Classes下(注意删除Classes里面的多余的cpp和h,就是项目自动生成的那些)
把你win32项目里的Resources拷贝到当前
Resources
下(注意删除Classes里面的多余资源,就是项目自动生成的那些)
第三步:编辑mk
#1注意有坑!android项目里有一大堆mk,而且不同的教程说的mk位置还不一样!你编辑错误了,是无效的(跟你实际使用的mk也有关系)。在这个例子中,我们使用的是Classes下的mk
#2要修改的地方如下
LOCAL_SRC_FILES:在这里加入你Classes下的cpp文件
LOCAL_C_INCLUDES:在这里添加你使用的库的h文件,如果有的话
LOCAL_LDLIBS:在这里添加你使用的库的lib文件,如果有的话
这里我使用的是,之前的“是男人就坚持20秒”那个例子的代码
注意,第三方库和额外的库都是要自己添加的。默认生成的mk里没那么全。
第四步:运行build_native.sh脚本,编辑so库
#1运行你的cygwin安装目录下的Cygwin.bat
#2进入当前Test\android路径下
注意cygwin下的命令写法,和win下不同
#3运行build_native.sh脚本
头一次编译会长些,当然图省事你也可以把自己及其他的android项目里面的so复制进来(应该可以把,哈哈哈)
编译完
然后你会看到,在android文件夹下面生成了一大堆东西。
第五步:导入到eclipse
#1注意有坑!使用新建android项目下的Create project from existing source,如果你使用的是“导入”有可能无法识别。
#2导入成功,然后就是编译执行了。cocos2d-x作者推荐用sh编译so,再用eclipse编译成apk。
 

其他注意事项:
 
 
#1.win32项目对资源文件大小写不敏感,android敏感,所以如果出错了,把给你提供资源的人给打一顿
#2.可以直接把win32项目里的工程文件,以及win32文件夹复制进来,项目就可以和VS共用了,当然cocos2d-x也是这么干的
#3.vs用的是gb码,android用的是utf-8,解决方法在vs下用iconv,另外最好全都转成utf-8,网上有很多编码批量转换工具
#4.android的横竖屏问题错乱,在android下把
pDirector->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft);
这句用条件编译宏给关掉

 

 

 

另外,关于cocos2d-x在android上添加第三方库的问题,6群网友塞风朔雪写了一个文档,很有参考价值。我已把它上传到附件中。

 

转载地址:http://xstbl.baihongyu.com/

你可能感兴趣的文章
10.2 io流 之字节流和字符流
查看>>
01|02|03| ====> (01,02,03)用于in id数组这种查询方式
查看>>
Java中基本数据类型的对比记忆
查看>>
ubuntu 下 mysql数据库的搭建 及 数据迁移
查看>>
linux as4下安装oracle10g终结版
查看>>
python之prettytable
查看>>
ITOO4.1之WCF学习(一)
查看>>
实体类中用基本类型好,还是用包装类型
查看>>
Double-checked Locking (DCL) and how to fix it
查看>>
【神经网络篇】--RNN递归神经网络初始与详解
查看>>
Linux 目录与文件管理
查看>>
初始面向对象
查看>>
使用slidingmeu_actionbarsherlock_lib的问题和The hierarchy of the type MainActivity is inconsistent...
查看>>
VS2015新功能
查看>>
数组、ArrayList、List<T>区别和选择
查看>>
使用MVC Razor生成格式良好的HTML Body作为邮件内容
查看>>
POJ-1163-The Triangle
查看>>
Javascript全世界最短的IE判定
查看>>
.NET跨平台实践:用C#开发Linux守护进程(转)
查看>>
浅谈C#的垃圾回收-关于GC、析构函数、Dispose、and Finalize asp.net GC之析构函数详解...
查看>>