Mac系统完美配置Cocos2d-x 2.2.3 的Android+IOS双平台环境

注意:本文的Cocos2d-x的版本是2.2.3,更高版本可能会略有不一样,低版本者不建议参考html

首先须要配置XCODE环境android

下载Cocos2d-xios

而后下载Cocos2d-x的整个源码:http://www.cocos2d-x.org/download 选择2.2.3的版本xcode

下载后解压,建议移动到文稿里bash

2.2.3的版本开始,Cocos2d-x将不能经过XCODE内置模板建立,而是必须经过脚本建立项目eclipse

这里,个人源码路径是:/Users/mac/Documents/Projects/cocos2d-x-2.2.3/,如下全部相同路径均可以根据您本身放置Cocos2d-x源码的位置来替换。iphone

如今利用其自带的脚本,新建一个项目工具

新建项目ui

首先终端进入: cd /Users/mac/Documents/Projects/cocos2d-x-2.2.3/tools/project-creatorgoogle

而后执行脚本:./create_project.py -project MyGame -package com.wangtao.mygame -language cpp

这里的MyGame是项目名称,请根据本身需求改变

这里的com.wangtao.mygame是包名,请根据本身需求改变。改变后的包名将在以后的XCODE和ECLIPSE两个环境中同时生效。

脚本执行完成后,新的项目在这个路径下:/Users/mac/Documents/Projects/cocos2d-x-2.2.3/projects

找到这个项目,进入后寻找proj.ios文件夹找到MyGame.xcodeproj打开就能够进入XCODE开发游戏了。

 Android环境配置

Eclipse for mac 下载地址:http://eclipse.org/downloads/
Android SDK for mac下载地址:http://developer.android.com/sdk/index.html

NDK下载地址:http://developer.android.com/tools/sdk/ndk/index.html

ADT下载地址:http://dl.google.com/android/adt/22.6.2/adt-bundle-mac-x86_64-20140321.zip

 

请注意下载Mac版本,并匹配您系统是32位仍是64位。几个包都比较大,下载速度比较慢,建议使用支持断点续传的工具下载。

配置环境变量

为了让编译器在之后能根据名称简称快速定位到其所在路径,须要将他们的映射关系配置并保存。

打开“终端”,而后输入  pico .bash_profile  回车
而后手动将如下路径输入进去:

export ANDROID_SDK_ROOT=/Users/mac/Documents/Projects/sdk/

export ANDROID_NDK_ROOT=/Users/mac/Documents/Projects/android-ndk-r9d/

export COCOS2DX_ROOT=/Users/mac/Documents/Projects/cocos2d-x-2.2.3/

export NDK_ROOT=/Users/mac/Documents/Projects/android-ndk-r9d/

export PATH=$PATH:$ANDROID_SDK_ROOT

export PATH=$PATH:$ANDROID_NDK_ROOT

注意以上输入过程当中,“=/”左右都不能有空格,不然会配置失败

输入完成以后,Control+x  进行保存,而后提示是否保存,输入 y  ,最后回车便可!
配置路径完成以后建议监测一下是否配置正确
检验路径步骤: 关闭你的“终端”,从新打开,若是以前路径配置有问题,那么从新打开的“终端”将出现以下提示:-bash: exoort: command not found    若是没有此类提示,说明路径配置完成。

创建Android项目

进入Eclipse的文件夹,启动Eclipse,新建Project,选择Android Project from Existing Code,点击Browse,选择/Users/mac/Documents/Projects/cocos2d-x-2.2.3/projects下您要导入的游戏项目,进入对应的游戏文件夹后,选择proj.android文件夹,而后点击Open。

项目导入进来后,能够看到assets文件下的资源就是XCODE中对应的资源,之后不须要来回拷贝资源,大大节省项目移植到Android平台的时间。

此外项目自动生成了入口Activity,继承自Cocos2dxActivity。但若是是第一次导入项目,这个库是没有的,须要导入。方法是,再新建一个Project,选择Android Project from Existing Code,点击Browse,选择/Users/mac/Documents/Projects/cocos2d-x-2.2.3/cocos2dx/platform/android文件夹。

在最终编译以前,须要特别注意的是:

一、检查Eclipse中本项目的jni/hello/cpp/main.cpp中的代码,默认状况下,上面inlude了一个“HelloWolrdScene”,若是您的游戏删掉了这个类,那这里也要对应的去掉这个include

二、检查build_native.sh中,在# options下须要添加NDK_ROOT :NDK_ROOT= "/Users/mac/Documents/Projects/android-ndk-r9d"

 

最终编译和运行

进入终端,根据项目中的build_native.sh位置,直接执行这个编译脚本,如:

/Users/mac/Documents/Projects/cocos2d-x-2.2.3/projects/MyGame/proj.android/build_native.sh

此次编译目的是生成.so文件,并打包到Android的APK中,若是编译成功会看到以下文字

[armeabi] SharedLibrary  : libcocos2dcpp.so

[armeabi] Install        : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so

若是编译出错,则会显示对应的错误缘由,强烈建议先保证在XCODE中编译经过的前提下,再进行android的.SO编译。

编译经过后,点击项目的根节点,并按下F5键,能够看到项目中多了libs/armeabi/libcocos2dcpp.so。

最后经过Eclipse的RUN功能,就能够直接生成APK了。

 

权限给予

mac 下终端访问文件出现“Permission Denied”解决方案:

一个文件有3种权限,读、写、可执行,你这个文件没有可执行权限,须要加上可执行权限。

1. 终端下先 cd到该文件的目录下

2. 执行命令 chmod a+x ./文件名

 

NDK不兼容

在编译过程当中,可能遇到这样的错误提示:format not a string literal and no format arguments [-Werror=format-security]

缘由:

  android-ndk-r9与Eclipse的版本不兼容问题

方案之一(我搜到的):

  在对应项目的proj.android/jni/Application.mk添加一句话

  APP_CFLAGS += -Wno-error=format-security

 

爽快的双平台同时开发

推荐在XCODE中进行游戏开发,调试。每一次须要生成安卓APK的时候,先经过终端执行build_native.sh脚本,而后Eclipse的项目根目录点击F5刷新.so后文件后编译打包一鼓作气。

惟一麻烦的一点就是iphone和android手机可能须要来回插拔,但这对游戏开发者已是最高的跨平台开发效率了。

本文由王焘原创,转载请注明原文地址。

相关文章
相关标签/搜索