安卓版本的cocos2dx编译

1 下载cocos2dx,请去官网下载 http://www.cocos2d-x.org/

2 下载jdk1.8,请去官网下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html

* 附配置jdk环境变量: 

我的电脑-->属性-->高级-->环境变量

配置用户变量:

    a.新建 JAVA_HOME                      C:\Program Files\Java\j2sdk1.5.0 (JDK的安装路径)

    b.新建 PATH                                 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

    c.新建 CLASSPATH                      .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

开始-->运行--〉CMD -> 键盘敲入: JAVA -version是否出现JAVA版本


3 下载ANT,请去官网下载 http://ant.apache.org/bindownload.cgi

4 下载Android SDK,懒得,请去 http://tools.android-studio.org/index.php/sdk 下载类似android-sdk_r??.?.?-windows.zip格式的压缩包。目前24.4.1

5 下载Android NDK, 下载地址 https://dl.google.com/android/repository/android-ndk-r???-windows-x86_64.zip 目前r13b

6 下载python2.7(不要下最新的python3.x) 下载地址 https://www.python.org/downloads/windows/

* 安装python时请勾选上环境变量(自定义安装)

7 请新建环境变量 ANT_ROOT, ANDROID_SDK_ROOT, NDK_ROOT 为各个解压包的路径,并设置环境变量

ClassPath追加;%ANT_ROOT%\lib

Path 追加%ANT_ROOT%\bin;%ANDROID_SDK_ROOT%\platform-tools;%NDK_ROOT%

之后测试adb, python, ant在cmd中是否可用。

8 以上皆安装后,打开cocos2dx目录,shift+鼠标右键选择“在此处打开命令窗口”,输入:python setup.py

9 按提示确认环境变量无误后,进入cocos\platform\android\libcocos2dx目录,打开build.gradle,修改compileSdkVersion, targetSdkVersion上的版本是否与 android-sdk-windows\platforms\android-??相等,buildToolsVersion上的版本是否与android-sdk-windows\build-tools\??相等,如不相等将其修改与??相等。

10 打开cmd工具,输入 cocos new test -p org.cocos2dx.com -l cpp -d D:\test 编译生成cocos2dx项目

 * 语法:cocos new 项目名 -p 包名 -l 语言(只有cpp,lua,js可选) -d 工程目录

11 修改 D:\test\test\proj.android\project.properties文件,将target=android-??改为你自己的android sdk版本,然后回到D:\test\test,再次shift+鼠标右键选择“在此处打开命令窗口”,输入:cocos compile -p android --ap-??

* ??指android sdk的版本号(见android-sdk-windows\platforms),另外--ap-??一定要有三个横杠,同时漫长的编译也许不一定成功,如果在下载gradle-??-all时卡住了,请人工将相应版本的gradle压缩包到c:\user\用户名\.gradle\wrapper\dist(具体路径请自行查找),然后重新执行。


12 不出意外的话,将会在你项目文件夹\bin\debug\android下发现test-debug.apk,这个安装包因为是arm结构,所以不一定能在电脑上模拟运行。拷到手机上安装,会看到cocos2dx的图标。

为什么使用cocos2dx?游戏开发要求性能,cocos3dx用到了c++编译的linux链接库和open ol es的图形库,对于2d游戏的开发做到这些已经很好了。本文仅供记录,或可参考。

你可能感兴趣的:(学习经验)