博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cocos2d-x for Android & iOS开发环境配置最佳实践
阅读量:5172 次
发布时间:2019-06-13

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

这篇文章是我的的续篇, 可以先参阅后再读这篇文章.

这几天一直在研究Cocos2d-x同时在Android和iOS下开发, 有几点体会和不便, 开发环境配置请参阅上一篇文章.

体会:

1.从我的小项目来看, 从iOS到Android, cocos2d-x可以做到无缝迁移. 在Xcode里面写好, 到eclipse打包即可.

不便:

1.或许是Xcode对文件引用方式导入代码开发支持不好, 我一直遇到调试时的诡异现象. 比如, 不启动模拟器啊, 启动模拟器后黑屏啊, 应用在模拟器的名字居然变成了${Product_name}之类的.

2.无法支持Xcode自带的git了, 我写代码很依赖git/svn, 可以方便地看到本次更改了什么代码, 心里比较踏实.

3.eclipse没有配置单步调试, 所以最好还是在Xcode调试好, 直接到eclipse里面打包.

 像2d-x代码里面的几个测试项目的组织结构感觉是最好的, 如果以后能直接从脚本一次性创建多个平台的项目文件就好了.

闲话少说, 我们开始尝试下做Android和iOS项目共存的最佳实践.

再次声明下版本和路径:

版本:Cocos2d-x: cocos2d-2.0-x-2.0.3OS X: 10.8Xcode: 4.5.1Eclipse: 4.2.1NDK: android-ndk-r8bDevice: Samsung T959 cm10(Android 4.1.2)文件路径:Cocos2d-x: /opt/cocos2d-2.0-x-2.0.3Android SDK:/opt/android-sdk-macosxAndroid NDK:/opt/android-ndk-r8b 如果下文提及这些路径, 请替换成你自己的路径.

  1.创建Android项目, 项目名称CCMTest

Youngs-MacBook-Air:~ young40$ cd /opt/cocos2d-2.0-x-2.0.3/Youngs-MacBook-Air:cocos2d-2.0-x-2.0.3 young40$ ./create-android-project.sh use global definition of NDK_ROOT: /opt/android-ndk-r8buse global definition of ANDROID_SDK_ROOT: /opt/android-sdk-macosxInput package path. For example: org.cocos2dx.examplecom.young40...输出省略了..id: 2 or "android-10"     Name: Android 2.3.3     Type: Platform     API level: 10     Revision: 2     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WVGA800 (default), WVGA854     ABIs : armeabi----------...输出省略了..input target id:2input your project name:CCMTest....输出省略了...
Youngs-MacBook-Air:cocos2d-2.0-x-2.0.3 young40$ cd CCMTest/Youngs-MacBook-Air:CCMTest young40$ lsClasses      Resources    proj.androidYoungs-MacBook-Air:CCMTest young40$

然后打开CCMTest这个目录, 并将proj.android这个目录做一个备份.(我是复制了一份到/opt/cocos2d-2.0-x-2.0.3目录下)

然后删除CCMTest这个目录.

2.创建Xcode项目.

创建项目名称为"CCMTest"的项目, 保存在/opt/cocos2d-2.0-x-2.0.3目录下.

如果你在上一步中没有删除, Xcode会提示你是否替换. 选择替换也是可行的.

你可以测试下, Xcode中是工作正常的.

3.恢复proj.android目录

将第一步中备份过的proj.android目录恢复到/opt/cocos2d-2.0-x-2.0.3/CCMTest目录中.

这个时候如果尝试通过命令build_native.sh来编译肯定会失败的, 因为相关的文件缺失了.

用您熟悉的编辑器打开/opt/cocos2d-2.0-x-2.0.3/CCMTest/proj.android/jni/Android.mk文件

将如下几行:

修改为:

  

打开编辑:/opt/cocos2d-2.0-x-2.0.3/CCMTest/proj.android/build_native.sh找到

for file in "$APP_ROOT"/Resources/*

修改为:

for file in "$APP_ROOT"/"$APPNAME"/Resources/*

这时可以调用命令来编译

Youngs-MacBook-Air:proj.android young40$ /opt/cocos2d-2.0-x-2.0.3/CCMTest/proj.android/build_native.sh

 

应该一切正常.

4.创建Eclipse项目.

Eclipse,Android,Cocos2d-x开发环境的搭建请参阅上一篇文章.相信你应该已经很熟悉了.

将/opt/cocos2d-2.0-x-2.0.3/CCMTest/proj.android导入为Eclipse项目.

如果项目有报错请参见上一篇文章, 消除错误提示的方法.

导入项目后点击Run运行项目.(这里可能要配置真机调试)

好了,可以看到我们的测试项目在真机跑起来了.

因为, cocos2d-x的兼容性很高, 基本上Xcode没有问题后, 在Eclipse中编译打包成Android即可.

再加上Eclipse中调试配置非常麻烦, 所以, 我推荐在Xcode中写好, 运行下build_native.sh命令, 然后直接用Eclipse打包成Android即可.

 

如果有什么问题, 欢迎交流, 欢迎关注我的微博.

我的微博:

转载于:https://www.cnblogs.com/young40/archive/2012/10/23/cocos2d-x-mac-os-x-android-xcode-ios-development-setup-best.html

你可能感兴趣的文章
软件工程--第十六周学习进度
查看>>
yii2 ActiveRecord多表关联以及多表关联搜索的实现
查看>>
搜狗输入法安装--ubuntu
查看>>
ps/2接口键盘的输入及显示
查看>>
Swift———a Glance(极客学院)笔记
查看>>
【poj3294-不小于k个字符串中最长公共子串】后缀数组
查看>>
java如何获取其它用户登录的真是IP地址
查看>>
Jquery通过指定层次关系获取元素
查看>>
c# for 和 foreach 的区别
查看>>
docfx (一)
查看>>
HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别
查看>>
深度学习之前馈神经网络(前向传播和误差反向传播)
查看>>
IEnumerable<T>和IQueryable<T>区别
查看>>
(转)MFC界面风格
查看>>
Centos7 tmux1.6 安装
查看>>
二叉树(三)
查看>>
linux加密文件系统 fsck 无法修复一例
查看>>
【linux配置】VMware安装Redhat6.5
查看>>
AI自主决策——有限状态机
查看>>
iframe父子窗口取值
查看>>