1.问题

       因为Cocos2d-x更新很快,而中文官网的维护又不算是特别及时,所以有时候文档中的版本号与当前版本对不上,按照文档操作有时候不能准确达到想要的结果,所以在这里把搭建环境过程中遇到的一些问题纪录下来,分享一下。

笔者的开发环境:

Mac OS X 10.9.5 

Cocos2d-x 3.3 final版本

Xcode 6.1.1 版本

现在,我们想要做的是,在这台机器上搭建一个Andoird的开发环境并将项目移植到Android中。


2.准备工作

(1)首先,我们需要到Cocos2d-x 官网下载一个Cocos2d-x 的引擎文件,笔者在写这篇博文时最新的版本是Cocos2d-x 3.4 final。不过笔者的开发环境是v3.3,所以笔者会以3.3版本为例。

(2)下载并安装JDK,这个过程十分简单。首先是下载链接

进去之后直接下载即可。

22.jpg

然后打开并安装,安装过程十分简单,狂点即可。

之后打开终端输入红色框内命令,可查看是否安装成功。

222.jpg

(3)登录安卓开发的官方网站,下载ADT。这里大家需要注意一下,因为天朝目前的某些措施,官网访问起来十分不便,所以我们可以访问国内的Android镜像网站。大家也可以自己去百度搜索其他的镜像网站。

23.jpg

ADT中包含了SDK和eclipse,下载成功后把文件解压出来,放到某个目录下,笔者将它放在了文稿(Documents)中。

(4)下载NDK。NDK的版本问题同样需要注意,目前官网上最新的NDK版本是android-ndk-r10b。之前笔者也是下载了这个版本,后来在交叉编译时,发现这个版本的文件结构和之前版本略有差异,比如某些路径的名字变换了,导致交叉编译时报错,后来使用了r9d的版本。大家可到网上搜一个Mac的ndk-r9d下载并使用。NDK下载成功后,将文件解压出来放到ADT文件刚刚存放的目录下。

(5)下载ANT。 ANT下载的官方网站

25.jpg

252.jpg

下载成功之后,同样解压到之前的目录下,这时候笔者的Documents目录下面已经有三个文件夹了,此时我们需要下载的工具就全部完成了。

(6)配置环境变量。配置环境变量的方法有很多种,其实Cocos已经为我们写好了相应的工具来设置,我们打开Cocos2d-x-3.3的文件夹,里面有一个叫做setup.py的文件。打开我们的终端,直接把这个文件拖进去,然后回车。

26.jpg

注意看上面的内容,笔者的环境变量,是已经配置好的,所以上面会提示,NDK_ROOT is found :之类的内容,如果你的环境变量是没配置的,这里就会提示你去把路径加上去。需要手动设置的一共三个环境变量,NDK_ROOT,ANDROID_SDK_ROOT,ANT_ROOT. 

设置路径时直接把对应文件夹拖拽上去即可,然后在路径后面加上个"/"按回车。

环境变量的查看方法,大家可以在终端输入以下命令。

1
2
cd ..  
open -t ~/.bash_profile

之后我们就可以看到我们的bash_profile了。通常在设置环境变量时,我们也可以直接打开bash_profile对其进行修改。

262.jpg

3.调试

下面,打开ADT中的eclipse。点击屏幕左上角的Eclipse中的preferences。

3.jpg

我们需要检查一下SDK和NDK的设置。检查的地方有三个:

32.jpg

一般情况下SDK路径都是没有问题的,NDK和Environment中的NDK路径目前是没有设置的。

这里还有一个问题需要注意,有些同学的这个界面中,可能没有NDK这个选项。不要担心,这个问题很好解决,大家也可以自行去百度搜索解决办法,十分简单,只要下载一个文件并拷贝到目下重启Eclipse就可以了。

对于NDK和Environment中路径的设置如下图:

33.jpg

34.jpg

这次配置过程真的就OK了。

之后的内容,大家可以自己创建一个新的工程,基于C++或基于Lua的工程(这两种工程导入时略有差异)。

C++的工程在创建完成之后项目的结构和Lua工程是不一样的,相对来说C++工程的步骤简单一些,创建成功后直接把proj.android文件夹引入到eclipse中就可以运行了。

导入项目的过程,点击Eclipse界面下左上角的File-New-Project  或 File-Import ,然后选择:

35.jpg

按Next,之后找到你的新建工程中的proj.android的文件夹,将目录加进来就完成了。C++的工程我们只会在左侧看到一个游戏的工程文件。

对于Lua版本的工程,完成上述操作后,工程文件就会提示错误,原因是工程文件下面的src/org.cocos2dx.lua找不到。所以对于基于Lua工程,我们还需要引入一个文件,这个文件位于  你的游戏工程文件夹/frameworks/cocos2d-x/cocos/platform/android/java   找到这个java文件夹,把它整个引入到项目中,这时候左侧的目录会多出来一个libcocos2dx的文件夹,然后错误就消失了。

导入成功后就可以编译了,编译的命令我们可以参照github中的命令,

36.jpg

在终端中cd到你的项目目录下,然后直接运行 cocos run -p android -j 4这个命令就可以了。

如果你没有连接真机,在最后会提示你找不到device,这时候把手机插上即可成功。

编译时也可以在Eclipse中右键点击项目文件,选择Run As - Android Application 进行编译,并开启调试模式。

最后,这只是编译了一个空的工程,对于真正的项目移植,还有一些其他的问题需要解决,可参考下一篇文章。