Cocos2d-x for Android iOS开发环境配置最佳实践
这篇文章是我的上一篇文章的续篇, 可以先参阅上一篇文章后再读这篇文章.
这几天一直在研究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-r8b
use global definition of ANDROID_SDK_ROOT: /opt/android-sdk-macosx
Input package path. For example: org.cocos2dx.example
com.young40
...输出省略了..
id: 2 or "android-10"Name: Android 2.3.3Type: PlatformAPI level: 10Revision: 2Skins: HVGA, QVGA, WQVGA400, WQVGA432, WVGA800 (default), WVGA854ABIs : armeabi
----------
...输出省略了..
input target id:
2
input your project name:
CCMTest
....输出省略了...
Youngs-MacBook-Air:cocos2d-2.0-x-2.0.3 young40$ cd CCMTest/
Youngs-MacBook-Air:CCMTest young40$ ls
Classes Resources proj.android
Youngs-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即可.
如果有什么问题, 欢迎交流, 欢迎关注我的微博.
我的微博:http://weibo.com/young40
转载于:https://www.cnblogs.com/young40/archive/2012/10/23/cocos2d-x-mac-os-x-android-xcode-ios-development-setup-best.html
Cocos2d-x for Android iOS开发环境配置最佳实践相关推荐
- Android Studio 使用艺术 - Android Windows 开发环境配置
为什么80%的码农都做不了架构师?>>> Android Windows 开发环境配置 配置JDK 下载JDK8 下载地址:http://www.oracle.com/tech ...
- Deepin Linux上的Android+Flutter开发环境配置
Deepin Linux上的Android+Flutter开发环境配置 在Linux上安装Flutter开发环境,官方教程参见Flutter Get Started,中国用户被墙需额外注意的官方教程参 ...
- Android Studio开发环境配置(win7)
由于近期,google网站封锁,导致eclipse配置android环境时,无法在线更新API和配置ADT.个人尝试之后,发现很多地方配置因为版本不合适而配置不成功,(ps:当然你FQ,或者下载到对应 ...
- Android 4 开发环境配置中的诸多陷阱
机器重做以后,重新配置Android开发环境的过程中遇到了很多问题和麻烦,不由得感慨免费的东西陷阱多多,也在这里做个总结加备忘. 我初始安装的软件包如下: Android SDK: installer ...
- 前端开发环境与最佳实践
目标 ========================= 标准化.自动化.最优化----以WEB设计取代传统桌面程序界面设计 开发语言:javascript ===================== ...
- PhoneGapjQuery Mobile应用开发环境配置(For Android)
PhoneGap&jQuery Mobile应用开发环境配置(For Android) 看看新闻网>看引擎>开源产品 4人收藏此文章, 发表于2小时前(2013-08-19 16: ...
- Android开发环境配置简介
http://developer.51cto.com/art/200908/145145.htm 摘要:本文介绍了Android开发环境配置时需要了解的事项.Android开发环境目前只支持XP(32 ...
- Eclipse IDE 使用技巧和Android App 开发环境搭建和配置
写在前面: 本片文章只是记录了自己学习时的一些笔记,纯粹是为了自己后面方便查找,片言碎语,不适合大家浏览,请大家不要参考这篇文章. 正文: Eclipse IDE 使用技巧 ...
- 记一次Qt5.12.2 Android 开发环境配置
记一次Qt Android开发环境配置 文章目录 记一次Qt Android开发环境配置 前言 一.配置需要的安装包及测试环境 二.配置步骤 1安装Qt5.12.2 2.安装Java SDK 3.解压 ...
- 【在Win10环境下Qt5.6.1 For Android 开发环境配置】
准备:Java jdk,Android sdk,Android ndk,Android ant,Qt 支持安卓的版本,比如qt-opensource-windows-x86-android-5.6.1 ...
最新文章
- 第十一周项目实践3 DFS(深度优先搜索)的基本模板
- 【CV】基于聚类的图像分割-Python
- c语言找出最大值和最小值并按降序排输出,大学一年级下学期C语言程序设计实验报告答案 完整版...
- java .vm h2_java-H2服务器在调试时挂起
- HDU 2242 考研路茫茫——空调教室
- Python玩转各种多媒体,视频、音频到图片
- 小米2019开发者大会:核心技术集体亮相,推动下一代超级互联网
- php mysql 地理位置_MySQL版中国省市区地址地区信息数据表
- centos7安装xterm_CentOS 7使用x-manager中Xstart工具报缺少xterm包错误
- 2019.1.21jQuery
- 普通程序员想转人工智能,不知道它?别想了!
- 接口加密了该怎么测?
- Nginx for Zabbix 3.2官方监控模板
- Nginx 服务器安装及配置文件详解
- 百度地图街景图片爬取
- 计算机网易云不能一键升级音质,网易云电脑版怎么调音效(一览网易云音效最佳调节技巧)...
- 电商运营数据分析常用分析指标--概述及流量指标
- 暗影精灵2pro装Linux系统,暗影精灵2不支持linux双系统吗?
- 尼康d850相机参数测试软件,新功能介绍二:景深合成与自动调焦_尼康 D850_数码影像评测-中关村在线...
- 《软技能 代码之外的生存指南》
热门文章
- 阶段3 2.Spring_06.Spring的新注解_2 spring的新注解-Bean
- 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_2 Mybatis中编写dao实现类的使用-保存操作...
- TypeScript完全解读(26课时)_9.TypeScript完全解读-TS中的类
- 聊聊、Integer 封装特性
- 光在参与介质中的传播及辐射传递方程
- webGL学习笔记一
- 九度OJ 1340:小A的计算器 (进制转换)
- ActionScript3.0中获取变量类型的方法
- 常用JS验证函数总结
- TCP/IP协议简单介绍