由于不想在自己的电脑上安装太多开发软件,最近捣鼓了一下在虚拟机中的centos7下搭建cocos2d-x 3.12开发编译环境,并成功编译android发布安装包。以下是个人经验。
工具/原料
CentOS-7-x86_64-DVD-1511.iso
cocos2d-x-3.12.zip
cmake-3.6.1.tar.gz
glfw-3.2.zip
android-ndk-r9d-linux-x86_64.tar.bz2
adt-bundle-linux-x86_64-20140702.zip
apache-ant-1.9.7-bin.tar.gz
jdk-8u101-linux-x64.rpm
工具/原料下载
1、以上工具/原料都可以到我的百度网盘链接上下载。CentOS7 链接:https://pan.baidu.com/s/1bpwWLyv 密码:sw17其它工具链接: https://pan.baidu.com/s/1qXWhTww 密码: d7mu
安装cmake
1、yum上的cmake版本太低,后面编译时会提示需要3.0以上版本,所以只能下载更高版本进行安装。进入cmake-3.6.1.tar.gz所在目录依次执行以下命令:(注意,以下均假设目录/work已存在,请自行创建)tar zxf cmake-3.6.1.tar.gz -C/work/cd /work/cmake-3.6.1/./bootstrapgmakesudo gmake install
安装glfw
1、安装依赖项:sudo yum install -y gccgcc-c++sudo yum install -y xorg-x11-drv*sudo yum install -y libXrandr-develsudo yum install -y libXinerama-develsudo yum install -y libXcursor-devel
2、进入glfw-3.2.z坡纠课柩ip所在目录依次执行以下命令:unzip glfw-3.2.zip -d/work/cd/work/glfw-3.2/mkdir buildcd buildcmake .. -DBUILD_SHARED_LIBS=ON -G "Unix Makefiles"makesudo make install
3、添加libglfw.so至缓存:sudo sh -c "echo /usr/local/lib >> /etc/ld.so.conf.d/libglfw.so.conf"sudo ldconfig
编译cocos2d-x
1、安装依赖项:sudo yum install -y glew-develsudo yum install -y fontconfig-develsudo yum install -y gtk3-develsudo yum install -y libcurl-develsudo yum install -y sqlite-devel
2、进入cocos2d-x-3.12.zip所在目录依次执行以下命令:unzip cocos2d-x-3.12.zip -d/work/cd/work/cocos2d-x-3.12/build/cmake ..make
3、添加libfmod.so至缓存cd/work/cocos2d-x-3.12/cd external/l足毂忍珩inux-specific/fmod/prebuilt/64-bit/sudo cp libfmod*.so /usr/local/lib64/sudo sh -c "echo /usr/local/lib64 >>/etc/ld.so.conf.d/libfmod.so.conf"sudo ldconfig
4、运行测试:cd/work/cocos2d-x-3.12/build/./bin/cpp-empty-test/cpp-empty-test./bin/cpp-tests/cpp-tests


5、如果编译运行的程序含有中文,但是运行时是乱码。首先确定自己使用的是UTF-8编码,然后有两种解决方法,一种是直接把当前系统语言改为中文;另一种是临时修改当前终端编码为UTF-8,即使用命令:export LANG=zh_CN.UTF-8,然后再运行程序。
搭建android编译环境
1、进入android-ndk-r9d-linux-x86_64.tar.bz2所在目录并执行以下命令:tar jxf android-ndk-r9d-linux-x86_64.tar.bz2 -C /work/则android ndk路径为:/work/android-ndk-r9d
2、进入adt-bundle-linux-x86_64-20140702.zip所在目录并执行以下命令:unzip adt-bundle-linux-x86_64-20140702.zip -d /work/则android sdk路径为:/work/adt-bundle-linux-x86_64-20140702/sdk
3、进入apache-ant-1.9.7-bin.tar.gz所在目录并执行以下命令:tar zxfapache-ant-1.9.7-bin.tar.gz -C /work/则android ant路径为:/work/apache-ant-1.9.7/bin
4、配置android环境变量:cd /work/cocos2d-x-3.12/./setup.py根据提示分别填入上面的android ndk、sdk和ant路径。然后执行:source /home/centos/.bashrc使之生效。

5、在编译android安装包之前,我们还需要安装以下依赖项:sudo yum install -y glibc.i686sudo yum install -y libstdc++.i686sudo yum install -y libzip.i686
6、系统自带的jdk用不了,所以必须另外安装jdk。首先卸载卺肿蓦艚系统自带的jdk,执行命令:sudo yum remove -y java*openjdk*进入枣娣空郅jdk-8u101-linux-x64.rpm所在目录执行命令:sudo rpm -i jdk-8u101-linux-x64.rpm至此,我们就可以使用cocos命令编译android安装包了。
编译android安装包
1、创建cocos2d-x项目:cocos new test -p com.test.www -l cpp -d /work/
2、编译cocos2d-x项目的android安装包:cd /work/test/cocos compile -p android -m release
3、编译release安装包时需要keystore文件,keystore可使用以下禅旄褡瘦命令生成:keytool -genkey -alias test.jks -k髫潋啜缅eyalg RSA -validity 365 -keystore test.jks除了名字与姓氏项要填,其它的都可不填,直接回车跳过。编译过程中根据提示填写keystore文件路径以及keystore的alias(别名)。

4、编译成功后,该安装包可在以下路径中找到:cd /work/test/bin/release/android