Cocos2d教程-Mac搭建Android开发环境
1. 问题阐述
由于Cocos2d-x更新速度较快,而中文官网的维护未能及时跟上,导致文档中的版本号可能与当前版本不匹配。按照文档操作时,有时无法准确达到预期结果。因此,本文将记录搭建环境过程中遇到的问题并进行分享。
开发环境信息
- 操作系统:Mac OS X 10.9.5
- Cocos2d-x版本:3.3 final版本
- Xcode版本:6.1.1 版本
我们的目标是在这台机器上搭建Android开发环境,并将项目移植到Android平台。
2. 准备工作
(1)下载Cocos2d-x引擎文件
首先,需要到Cocos2d-x官网下载Cocos2d-x引擎文件。撰写本文时,最新版本是Cocos2d-x 3.4 final,但由于开发环境使用的是v3.3,因此本文将以3.3版本为例进行说明。
(2)下载并安装JDK
下载JDK的过程较为简单,其下载链接,进入该链接后直接下载即可。下载完成后,打开安装程序,安装过程中可直接点击下一步完成安装。
安装完成后,打开终端,输入相应命令(需补充红色框内具体命令),可查看是否安装成功。
(3)下载ADT
登录安卓开发的官方网站下载ADT。由于网络限制,访问官网可能不太方便,可访问国内的Android镜像网站,也可自行百度搜索其他镜像网站。
ADT中包含了SDK和eclipse,下载成功后,将文件解压到指定目录,例如文稿(Documents)文件夹。
(4)下载NDK
下载NDK时需要注意版本问题。目前官网上最新的NDK版本是android-ndk-r10b,但在交叉编译时,该版本的文件结构与之前版本略有差异,如某些路径名称发生了变化,可能导致交叉编译报错。因此,建议使用r9d版本,可到网上搜索Mac的ndk-r9d进行下载。
下载成功后,将文件解压到ADT文件存放的目录下。
(5)下载ANT
ANT的官方下载网站,下载成功后,将其解压到之前的目录下。此时,Documents目录下应该有三个文件夹,所需下载的工具全部准备完成。
(6)配置环境变量
配置环境变量有多种方法,Cocos已经提供了相应的工具。打开Cocos2d-x-3.3文件夹,其中有一个名为setup.py的文件。打开终端,将该文件拖入终端并回车。
注意观察终端输出内容,如果环境变量已经配置好,会提示“NDK_ROOT is found :”等信息;如果未配置,会提示添加相应路径。需要手动设置的环境变量有三个:NDK_ROOT、ANDROID_SDK_ROOT、ANT_ROOT。
设置路径时,可直接将对应文件夹拖拽到终端,在路径后面加上“/”后回车。
查看环境变量,可在终端输入以下命令:
cd ..
open -t ~/.bash_profile
执行上述命令后,即可查看bash_profile文件。通常,也可直接打开bash_profile文件进行环境变量的修改。
3. 调试
(1)检查SDK和NDK设置
打开ADT中的eclipse,点击屏幕左上角的Eclipse中的preferences,检查SDK和NDK的设置,主要检查以下三个地方:
- 一般情况下,SDK路径不会有问题。
- NDK和Environment中的NDK路径目前可能未设置。
- 部分同学的界面中可能没有NDK选项,可自行百度搜索解决办法,通常下载一个文件并拷贝到指定目录,重启Eclipse即可。
NDK和Environment中路径的设置可参考相关图示(此处应补充图示)。
(2)创建并导入项目
完成上述配置后,可自行创建一个新的工程,包括基于C++或基于Lua的工程(这两种工程导入时略有差异)。
- C++工程:创建完成后,项目结构与Lua工程不同,步骤相对简单。创建成功后,直接将proj.android文件夹引入到eclipse中即可运行。导入项目时,点击Eclipse界面左上角的File - New - Project或File - Import,然后选择相应选项,按Next,找到新建工程中的proj.android文件夹,将目录添加进来即可。导入后,在左侧只会看到一个游戏的工程文件。
- Lua工程:完成上述操作后,工程文件可能会提示错误,原因是工程文件下的src/org.cocos2dx.lua找不到。对于基于Lua的工程,还需要引入一个文件,该文件位于游戏工程文件夹/frameworks/cocos2d-x/cocos/platform/android/java,将这个java文件夹整个引入到项目中,左侧目录会多出一个libcocos2dx的文件夹,错误即可消失。
(3)编译项目
导入成功后即可进行编译,编译命令可参考github中的命令。在终端中,使用cd命令进入项目目录,然后运行cocos run -p android -j 4命令。如果未连接真机,最后会提示找不到device,此时将手机连接上即可成功编译。
也可在Eclipse中右键点击项目文件,选择Run As - Android Application进行编译,并开启调试模式。
需要注意的是,本文仅编译了一个空的工程,对于真正的项目移植,还会遇到其他问题,可参考下一篇文章。