Cocos2d-x 跨平台开发环境配置
2013-03-15 16:20
281 查看
来自cocochina,原帖地址:http://www.cocoachina.com/bbs/read.php?tid=129743
Cocos2d-x
跨平台开发环境配置(201212版)
1、前言
准备了解使用cocos2d-x开发手机应用,因为Xcode,cocos2d-x,andoroid的自身版本也在不停的变化,导致刚开始学习时找的资料基本跟不上版本的变化,走了一些弯路。将自己的配置过程写下来,算是一个记录和提醒。本文由swimfox写于2012年12月始,各软件版本以当时网上下载的最新版本。本文可以转载,但要注明出处和时间。
参考文章一:COCOS2D-X跨ANDROID&IOS平台开发入门教程
非常感谢该文的作者&译者,对swimfox的学习非常有帮助
配置环境基于mac os。因为用了cocos2d-x,肯定是iOS,android双枪,而开发IOS APP则必须使用mac os,mac os上也可以开发android app,所以mac os是必须的,也更加方便。另外IOS的模拟器比android的模拟器要快的多,好用的多。这里吐槽一下,android的模拟器,启动一下就要3,4分钟,难道不能做个睡眠功能,把内容直接保存到硬盘上,让android模拟器也可以实现休眠,这样自身启动也会快很多。
本文涉及的各软件版本
再次强调涉及的各个软件版本,因为cocos2d-x发展很快,内容可能跟不上其变化,容易给读者造成疑惑。swimfox就是因为搜索cocos2d-x的文章,发现基本都是1.0的,和当前2.X版本有一些差别,才又写此文的冲动。
cocos2d-x: cocos2d-2.1beta3-x-2.1.0.zip
OS: mac OS X Mount Lion 10.8.2
Xcode 4.5
Eclipse : Version: Juno Service Release 1 Build id: 20120920-0800
JAVA版本:1.6.0_37 macos 自带,
gcc: 4.2 maos 自带
android-sdk: adt-bundle-mac-x86_64.zip(google 官网下载)
android-ndk: android-ndk-r8c-darwin-x86.tar.bz2 (google 官网下载)
2、安装Xcode和cocos2d-x,搭建IOS开发环境
2.1 Xcode安装
苹果官网太慢,直接搜索,得到这个地址:XCode 4.5正式版下载地址:http://kuai.xunlei.com/d/UVKGYFNQIYLG
下载,运行后,把code图标拖入app目录,点击一下xcode图标可以运行就OK了。
2.2 cocos2d-x安装和第一个demo
解压cocos2d-2.1beta3-x-2.1.0.zip 至usr目录 (swimfox这里是/home/roger),为了将来升级到更新版本,在同级目录创建符号链接ln -s cocos2d-2.1beta3-x-2.1.0 cocos2d-x。
运行脚本,安装Xcode的cocos2d-x模板,
cd ~/cocos2d-x
sudo ./install-templates-xcode.sh -f
-f 表示覆盖安装,这样可以覆盖老版本的cocos2dx的模板
从xcode中创建cocos2d-x工程,右键,运行,就可以在模拟器中看到刚编译好的程序在运行了
启动Xcode,创建新project时,可以看到有cocos2d-x的模板了
从这个模板创建一个project ,名称为 cocso2dx1,查看其目录结构,可以看到包含的cocos2dx的版本是 2.1.0 的了,在Classes目录下就是项目的四个源文件。
右键project,选择运行,在模拟器中就可以看到第一个cocos2dx的例子
3、安装Eclipse,配置cocos2d-x,搭建android开发环境
3.1 eclipse,android SDK,搭建android开发环境
开发需要android的SDK在 http://developer.android.com/sdk/index.html下载。可以下载eclipse sdk整合包,(已含插件ADT:android developers
tools)这个是最方便,下载的里面已经那个含有一个最新版本的sdk。
解压 adt-bundle-mac-x86_64.zip 到用户目录,其下有两个目录 eclipse sdk,eclipse就是整合了ADT插件的eclipse,
下载的需要下载更多版本的androidSDK,需要在 sdk/tools 目录下运行 android 这个程序,会弹出一个窗口,选择各个版本的sdk,例子,文档,google和其他厂商单独的API,以及一些其他的芯片的image文件(暂时不知道用处),因为比较慢,选择几个版本的sdk下载就可以了,其他版本的可以延后再下。
如果下载单独的eclipse,就需要在eclipse中安装ADT插件,可以搜索解决。(swimfox既用了整合版本,也用单独eclipse做了测试,还是感觉整合版本更方便)
运行eclipse,就可以开发基本的android项目了,但这是基于java开发的,不是本文的重点。网上随便找找就是了。
3.2 eclipse开发cocos2dx项目
android的开发本来是java的,但在2009年6月,google提供它允许一些组件采用C/C++来编写,然后通过标准的Java Native Interface (JNI)来调用。
安装NDK的过程非常简单:下载最新版本的NDK。 developer.android.com—index.html,swimfox将解压tar.bz2
到/Users/roger/android-ndk-r8c 目录
设置环境变量和path。 .base_profile 最后再增加 NDK,android sdk的环境变量
export NDK_ROOT="/Users/roger/android-ndk-r8c"
export ANDROID_SDK_ROOT="/Users/roger/adt-bundle-mac/sdk"
export PATH=${PATH}:/Users/roger/adt-bundle-mac/sdk/tools:/Users/roger/adt-bundle-mac/sdk/platform-tools
然后使其生效,souce .bash_profile。最后运行创建项目的脚步就可以了
~ $ cd cocos2d-x
~/cocos2d-x $ ./create-android-project.sh
可以看到我们设置的NDK,android SDK的路径都起效了。输入包名,选择sdk的版本,输入项目名称,android-cocos2dx的项目就建立好了,就建立在 ~/cocos2d-X 目录下,这里项目名为 ljtest1。
现在用C++编译这个项目,这里因为cocos2d-x版本升级后,andorid目录稍有不同。不是参考文章一中说的android目录,而是“proj.andoird” 目录。
~/cocos2d-x/ljtest1/proj.android $ ./build_native.sh
最后生成一个libgame.so ,android就是用java来调用这个so文件
so编译成功了,下一步就是用eclipse生成一个android工程,用java代码来调用这个so文件。
运行eclipse,从菜单"Project"-"New.."中选择从已有代码创建一个新项目。
选中 “proj.andoird” 目录。android项目就自动建立好了。
有两个地方因为2dx版本的升级,被坑了几次,要注意。
1,在生成高版本sdk的框架的时候,AndroidManifest.xml里的icon图片名称是icon,但有时,通过模板创建的工程,却把 ic_launcher.png文件copy过来了了,两个解决方案,a,把icon.png这个图片copy进去资源文件夹下。b,用文本编辑器打开AndroidManifest.xml文件,把第9行中的“icon”替换成"ic_launcher”。
2,在2.x版本后,没有自动把cocos2d-x的java文件包含到工程中,需要在eclipse的工程中添加这个路径。右键ljtest1工程,选择 BuildPath->Link Source,弹出窗口的第一个对话框选择 cocos2d-x 安装目录下的 $COCOS2DX_ROOT/cocos2dx/platform/java/src 目录,第二个对话框“Folder name"会自动填写上src,这个与项目中的src目录名冲突了,改名就可以了,这里填写的是cocos2dx图片截图时写错了,写成了org-cocos2dx,自动忽视吧)。
右键ljtest1项目选择:Run
AS->Android Application ,Eclipse就会自动编译该项目,并启动模拟器来运行。图标已经在模拟器上看得见了。
但且慢,cocos2d-x 2.x版本使用openGL2.0l了,模拟器是不支持的,所以只有将编译的apk文件安装到真机上执行。(关于android的模拟器只是openGL 2.0的模拟,网上好像也有办法来解决,但swimfox没有实验通,另外就是andriod的模拟器实在是太慢了,就没有心情弄了)
传到swimfox的夏新大V机器上。跑起来,用mbp摄像头拍个运行时的照片(前置摄像头拍出来是反的)
四、整合跨平台开发
android-cocos2d-x 项目 ljtest1中,c++的代码在Classes目录下
可以看到,和Xcode-cocos2d-x项目中的C++代码文件,数量,文件名,内容是完全一样的。所以很简单,直接将android-cocos2dx项目的Classes目录删除,做一个符号链接到Xcode-cocos2dx项目的Classes目录,到这一步,跨平台混合开发就算基本完成了。
先在Xcode下进行开发,在IOS模拟器上调试,完成一个功能后,再切换到 android-cocos2dx项目的proj.android目录下,运行build_native.sh ,编译出一个新的libgame.so ,然后再在eclipse下生成adroid的apk安装包,进行安装调试。
对swimfox来说,跨平台的开发到这里就足够用了,命令行的使用,编译对我来说更习惯、方便。
参考文章一后文还描述了在eclipse整合 编译so 的内容,这样开发更方便一些,如果又需要的可以再仔细看看参考文章一。
swimfox@20121212
Cocos2d-x
跨平台开发环境配置(201212版)
1、前言
准备了解使用cocos2d-x开发手机应用,因为Xcode,cocos2d-x,andoroid的自身版本也在不停的变化,导致刚开始学习时找的资料基本跟不上版本的变化,走了一些弯路。将自己的配置过程写下来,算是一个记录和提醒。本文由swimfox写于2012年12月始,各软件版本以当时网上下载的最新版本。本文可以转载,但要注明出处和时间。
参考文章一:COCOS2D-X跨ANDROID&IOS平台开发入门教程
非常感谢该文的作者&译者,对swimfox的学习非常有帮助
配置环境基于mac os。因为用了cocos2d-x,肯定是iOS,android双枪,而开发IOS APP则必须使用mac os,mac os上也可以开发android app,所以mac os是必须的,也更加方便。另外IOS的模拟器比android的模拟器要快的多,好用的多。这里吐槽一下,android的模拟器,启动一下就要3,4分钟,难道不能做个睡眠功能,把内容直接保存到硬盘上,让android模拟器也可以实现休眠,这样自身启动也会快很多。
本文涉及的各软件版本
再次强调涉及的各个软件版本,因为cocos2d-x发展很快,内容可能跟不上其变化,容易给读者造成疑惑。swimfox就是因为搜索cocos2d-x的文章,发现基本都是1.0的,和当前2.X版本有一些差别,才又写此文的冲动。
cocos2d-x: cocos2d-2.1beta3-x-2.1.0.zip
OS: mac OS X Mount Lion 10.8.2
Xcode 4.5
Eclipse : Version: Juno Service Release 1 Build id: 20120920-0800
JAVA版本:1.6.0_37 macos 自带,
gcc: 4.2 maos 自带
android-sdk: adt-bundle-mac-x86_64.zip(google 官网下载)
android-ndk: android-ndk-r8c-darwin-x86.tar.bz2 (google 官网下载)
2、安装Xcode和cocos2d-x,搭建IOS开发环境
2.1 Xcode安装
苹果官网太慢,直接搜索,得到这个地址:XCode 4.5正式版下载地址:http://kuai.xunlei.com/d/UVKGYFNQIYLG
下载,运行后,把code图标拖入app目录,点击一下xcode图标可以运行就OK了。
2.2 cocos2d-x安装和第一个demo
解压cocos2d-2.1beta3-x-2.1.0.zip 至usr目录 (swimfox这里是/home/roger),为了将来升级到更新版本,在同级目录创建符号链接ln -s cocos2d-2.1beta3-x-2.1.0 cocos2d-x。
运行脚本,安装Xcode的cocos2d-x模板,
cd ~/cocos2d-x
sudo ./install-templates-xcode.sh -f
-f 表示覆盖安装,这样可以覆盖老版本的cocos2dx的模板
从xcode中创建cocos2d-x工程,右键,运行,就可以在模拟器中看到刚编译好的程序在运行了
启动Xcode,创建新project时,可以看到有cocos2d-x的模板了
从这个模板创建一个project ,名称为 cocso2dx1,查看其目录结构,可以看到包含的cocos2dx的版本是 2.1.0 的了,在Classes目录下就是项目的四个源文件。
右键project,选择运行,在模拟器中就可以看到第一个cocos2dx的例子
3、安装Eclipse,配置cocos2d-x,搭建android开发环境
3.1 eclipse,android SDK,搭建android开发环境
开发需要android的SDK在 http://developer.android.com/sdk/index.html下载。可以下载eclipse sdk整合包,(已含插件ADT:android developers
tools)这个是最方便,下载的里面已经那个含有一个最新版本的sdk。
解压 adt-bundle-mac-x86_64.zip 到用户目录,其下有两个目录 eclipse sdk,eclipse就是整合了ADT插件的eclipse,
下载的需要下载更多版本的androidSDK,需要在 sdk/tools 目录下运行 android 这个程序,会弹出一个窗口,选择各个版本的sdk,例子,文档,google和其他厂商单独的API,以及一些其他的芯片的image文件(暂时不知道用处),因为比较慢,选择几个版本的sdk下载就可以了,其他版本的可以延后再下。
如果下载单独的eclipse,就需要在eclipse中安装ADT插件,可以搜索解决。(swimfox既用了整合版本,也用单独eclipse做了测试,还是感觉整合版本更方便)
运行eclipse,就可以开发基本的android项目了,但这是基于java开发的,不是本文的重点。网上随便找找就是了。
3.2 eclipse开发cocos2dx项目
android的开发本来是java的,但在2009年6月,google提供它允许一些组件采用C/C++来编写,然后通过标准的Java Native Interface (JNI)来调用。
安装NDK的过程非常简单:下载最新版本的NDK。 developer.android.com—index.html,swimfox将解压tar.bz2
到/Users/roger/android-ndk-r8c 目录
设置环境变量和path。 .base_profile 最后再增加 NDK,android sdk的环境变量
export NDK_ROOT="/Users/roger/android-ndk-r8c"
export ANDROID_SDK_ROOT="/Users/roger/adt-bundle-mac/sdk"
export PATH=${PATH}:/Users/roger/adt-bundle-mac/sdk/tools:/Users/roger/adt-bundle-mac/sdk/platform-tools
然后使其生效,souce .bash_profile。最后运行创建项目的脚步就可以了
~ $ cd cocos2d-x
~/cocos2d-x $ ./create-android-project.sh
可以看到我们设置的NDK,android SDK的路径都起效了。输入包名,选择sdk的版本,输入项目名称,android-cocos2dx的项目就建立好了,就建立在 ~/cocos2d-X 目录下,这里项目名为 ljtest1。
现在用C++编译这个项目,这里因为cocos2d-x版本升级后,andorid目录稍有不同。不是参考文章一中说的android目录,而是“proj.andoird” 目录。
~/cocos2d-x/ljtest1/proj.android $ ./build_native.sh
最后生成一个libgame.so ,android就是用java来调用这个so文件
so编译成功了,下一步就是用eclipse生成一个android工程,用java代码来调用这个so文件。
运行eclipse,从菜单"Project"-"New.."中选择从已有代码创建一个新项目。
选中 “proj.andoird” 目录。android项目就自动建立好了。
有两个地方因为2dx版本的升级,被坑了几次,要注意。
1,在生成高版本sdk的框架的时候,AndroidManifest.xml里的icon图片名称是icon,但有时,通过模板创建的工程,却把 ic_launcher.png文件copy过来了了,两个解决方案,a,把icon.png这个图片copy进去资源文件夹下。b,用文本编辑器打开AndroidManifest.xml文件,把第9行中的“icon”替换成"ic_launcher”。
2,在2.x版本后,没有自动把cocos2d-x的java文件包含到工程中,需要在eclipse的工程中添加这个路径。右键ljtest1工程,选择 BuildPath->Link Source,弹出窗口的第一个对话框选择 cocos2d-x 安装目录下的 $COCOS2DX_ROOT/cocos2dx/platform/java/src 目录,第二个对话框“Folder name"会自动填写上src,这个与项目中的src目录名冲突了,改名就可以了,这里填写的是cocos2dx图片截图时写错了,写成了org-cocos2dx,自动忽视吧)。
右键ljtest1项目选择:Run
AS->Android Application ,Eclipse就会自动编译该项目,并启动模拟器来运行。图标已经在模拟器上看得见了。
但且慢,cocos2d-x 2.x版本使用openGL2.0l了,模拟器是不支持的,所以只有将编译的apk文件安装到真机上执行。(关于android的模拟器只是openGL 2.0的模拟,网上好像也有办法来解决,但swimfox没有实验通,另外就是andriod的模拟器实在是太慢了,就没有心情弄了)
传到swimfox的夏新大V机器上。跑起来,用mbp摄像头拍个运行时的照片(前置摄像头拍出来是反的)
四、整合跨平台开发
android-cocos2d-x 项目 ljtest1中,c++的代码在Classes目录下
可以看到,和Xcode-cocos2d-x项目中的C++代码文件,数量,文件名,内容是完全一样的。所以很简单,直接将android-cocos2dx项目的Classes目录删除,做一个符号链接到Xcode-cocos2dx项目的Classes目录,到这一步,跨平台混合开发就算基本完成了。
先在Xcode下进行开发,在IOS模拟器上调试,完成一个功能后,再切换到 android-cocos2dx项目的proj.android目录下,运行build_native.sh ,编译出一个新的libgame.so ,然后再在eclipse下生成adroid的apk安装包,进行安装调试。
对swimfox来说,跨平台的开发到这里就足够用了,命令行的使用,编译对我来说更习惯、方便。
参考文章一后文还描述了在eclipse整合 编译so 的内容,这样开发更方便一些,如果又需要的可以再仔细看看参考文章一。
swimfox@20121212
相关文章推荐
- Cocos2d-x 跨平台开发环境配置(201212版)
- Cocos2d-X 学习笔记5 Win7 + vs2012 + cocos2d-x2.2 配置开发环境
- 【cocos2d-x】Win7下配置Cocos2d-x开发环境
- VMWARE + CENTOS在windows下配置cocos2d-x android开发环境
- Mac下Cocos2d-x Android开发环境配置
- Mac下配置cocos2d-x开发环境(android和ios)
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
- eclipse配置 android开发环境 adt sdk ndk 及cocos2d-x
- Mac OS X 配置 Cocos2d-x 开发环境(iOS 和 Android)
- Mac OS X下配置Cocos2d-x for Android(Eclipse)&IOS(Xcode)开发环境
- 【android-cocos2d-X2.2 环境配置】在Mac下搭建Cocos2d-X-android开发环境!
- Cocos2d-x for Android & iOS开发环境配置最佳实践
- WinXP环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
- quick-cocos2d-x Mac开发环境配置
- 跨平台GUI--Qt windows 开发环境安装配置(VS2005+QT+IntegrationPlugin)(转载)
- cocos2d-x windows开发环境配置
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测) .
- COCOS-跨平台开发环境配置