准备工作
到Cocos2d-x官方网站下载最新版本v3.2alpha0
到Android官方网站下载Android SDK
最后还需要在Android官方网站下载Android NDK
JDK
检测JDK是否安装,版本是否大于1.6.0。打开终端,输入:
MacOS X会自动下载JDK,如图所示。
你会看到如下所示信息:
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)
检查完后,便可开始设置Mac的Android开发环境。
@H_646_
502@
配置Android SDK环境
解压ZIP文件(名字为“adt-bundle-.zip”),保存至适当位置如主目录的“Development”(开发)目录。
打开adt-bundle-/eclipse/目录并启动Eclipse。
就这样!至此集成开发环境已经加载了Android开发人员(Android Developer Tools)工具插件,SDK已经准备就绪。
在MBP Retina电脑中安装Eclipse
如果你用的是配备Retina显示屏的MacBook Pro电脑,注意原装Eclipse不支持Retina显示屏,但是可以使用简单的技巧启动Retina支持功能。(本方法来自:https://bugs.eclipse.org/bugs/show_bug.cgi?id=382972)
- 在Eclipse.app上执行“Show package contents”
- 编辑Contents/Info.plist文件。
- 就在以下代码上方
</dict> </plist>
增加以下代码
<key>NSHighResolutionCapable</key> <true/>
- 将Eclipse.app应用移至一个新文件夹(清除OS X中info.plist文件的缓存),然后再移回旧文件夹。 5.启动Eclipse即可,已支持Retina显示屏。
打开Eclipse,选择”ADT->偏好设置”,然后选择Android项来指定Android SDK的安装目录。如下图所示:
配置NDK环境
将iOS项目源文件编译成项目时需要用到NDK来生成native文件。
先解压下载的NDK和ADT放在同一个父文件夹里。
按如下操作添加NDK环境变量:
export NDK_ROOT="/Users/yiming/Desktop/android-ndk-r9"
重启终端。
创建HelloWorld项目
将刚才下载的压缩包解压到你指定的文件夹里。
进入到目录**cocos2d-x-3.2alpha0/tools/cocos2d-console/bin/cocos.py**
打开终端运行**cocos.py**脚本创建文件
./cocos.py new HelloWorldDemo -p com.coco2dx.org -l cpp -d ~/Desktop
或者
python cocos.py new HelloWorldDemo -p com.coco2dx.org -l cpp -d ~/Desktop
参数说明:
- HelloWorldDemo为项目名称
-
-p
后面接包名
-
-l
后面接开发语言类型,有cpp,js三种类型
-
-d
后面接项目存放的目录
生成Android项目文件
执行**HelloWorldDemo/proj.android**下的*build_native.py*脚本进行编译
编译成功!
并将**HelloWorldDemo/cocos2d/cocos/2d/platform/android/java/src/org/cocos2dx/lib**文件夹拷贝到**HelloWorldDemo/proj.android/src/org/cocos2dx**下。
导入Android项目到Eclipse
通过导入一个已存在的Android项目的方法将生成的HelloWorldDemo导入到Eclipse中如下:
http://write.blog.csdn.net/postedit/40741819
你可能看到如下错误提示:
The import org.cocos2dx.lib cannot be resolved HelloWorld.java /HelloWorld/src/com/young40/test line 26 Java Problem Cocos2dxActivity cannot be resolved to a type HelloWorld.java /HelloWorld/src/com/young40/test line 30 Java Problem Cocos2dxActivity cannot be resolved to a type HelloWorld.java /HelloWorld/src/com/young40/test line 33 Java Problem
你需要将
/opt/cocos2d-2.1beta3-x-2.1.1/cocos2dx/platform/android/java
按照上面的方法导入到Eclipse里面。然后在HelloWorldDemo项目上单击右键刷新,错误就会消失。
将您的手机设置成调试模式并用USB线连接到电脑,在Eclipse中运行HelloWorld,然后就能在手机上看到已经运行的HelloWorld了!
新问题汇总:
问题1:
Cocos2d-x 3.2正式版,iOS程序编译没任何问题,结果使用cocos compile -p android编译生成APK程序,结果悲剧了,出现以下错误。
Android NDK: Invalid APP_STL value: c++_static
Android NDK: Please use one of the following instead: system stlport_static stlport_static_hard stlport_shared stlport_shared_hard gnustl_static gnustl_shared gabi++_static gabi++_shared libc++_static libc++_shared none
make: Entering directory `/game/physics_engine/proj.android‘
/sdk/ndk/android-ndk-r9c/build/core/add-application.mk:274: *** Android NDK: Aborting . Stop.
make: Leaving directory `/game/physics_engine/proj.android‘
Error running command,return code: 2
很显然,这个错误是使用了不正确的STL Library,解决方案有如下两个。
方案1:临时方案
修改Application.mk文件,将原来的前4行替换为如下的内容。然后替换就ok了
原来的内容如下:
APP_STL := c++_static
NDK_TOOLCHAIN_VERSION=clang
APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char
APP_LDFLAGS := -latomic
替换后的内容如下:
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1 -std=c++11 -Wno-literal-suffix -fsigned-char
方案2:
由于c++_static只有在最新的NDK中才可使用,所以下载最新的NDK就可以了
大家可以从http://developer.android.com/tools/sdk/ndk/index.html下载最新的NDK版本,然后从新设置ndk路径即可。
问题2:
MAC 上找不到.bash_profile该怎么办?
1. 启动终端Terminal
2. 进入当前用户的home目录
输入cd ~
3. 创建.bash_profile
输入touch .bash_profile
4. 编辑.bash_profile文件
输入open -e .bash_profile
因为是为了搭建Android开发环境,输入Android SDK下的tools目录:export PATH=${PATH}:/eclipse/android_sdk/tools
5. 保存文件,关闭.bash_profile
6. 更新刚配置的环境变量
输入source .bash_profile
7. 验证配置是否成功
输入android启动Android SDK and AVD Manager
问题3:
编译2DXLUA项目时出现的
错误:
编译打包:cocos compile -p android --ap20
CPP
代码编译完成后出现
错误:
/Users/ks/Documents/adt-bundle-mac-x86_64-20131030/sdk/tools/ant/build.xml:892: The following error occurred while executing this line:
/Users/ks/Documents/adt-bundle-mac-x86_64-20131030/sdk/tools/ant/build.xml:894: The following error occurred while executing this line:
/Users/ks/Documents/adt-bundle-mac-x86_64-20131030/sdk/tools/ant/build.xml:906: The following error occurred while executing this line:
/Users/ks/Documents/adt-bundle-mac-x86_64-20131030/sdk/tools/ant/build.xml:284: null returned: 2
解决方法:
进入project.properties ,#android.library.reference.1=../cocos2d/cocos/platform/android/java,前面加个#,当前行注释掉;