Windows平台下Cocos2d-x 打包Android平台APK

从Cocos2d-x 3.2项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后,以后就会非常快捷!(涉及到3.1.1版本的,请自动对应3.2版本,3.x版本的环境搭建都是一样的)

一、软件

(1)VS2012(C++11特性在VS2012以上可以使用)

(2)Cocos2d-x官网源码 http://cocos2d-x.org/download  

(3)分享资源:资源:https://github.com/inferjay/AndroidDevTools/    Ctrl + F 搜索:JDK、NDK、ANT、Python

(4) 可能需要VPN,没有VPN跳过(4)

Android SDK下载http://developer.android.com/sdk/index.html

Android NDk下载http://developer.android.com/tools/sdk/ndk/index.html

Android JDK下载http://www.oracle.com/technetwork/java/javase/downloads/index.html

Ant下载http://ant.apache.org/bindownload.cgi

(5)也可在我的云盘获取资源 : http://pan.baidu.com/s/1mhOKjDQ    注:有的资源可能不适合x86电脑,x86电脑可以(3)、(4)链接交叉获取资源


二、软件安装与环境配置

1、VS环境安装

2、JDK环境安装:右击计算机->属性->高级系统设置->环境变量(分为用户变量和系统变量);

1)安装:直接点击下一步即可安装完成。

2)配置环境变量:

a)在系统或用户变量中新加环境变量JAVA_HOME为JDK的安装路径,如:D:\Java

b)把”%JAVA_HOME%\bin”加入到系统变量的Path中,记得用分号隔开。在用户变量中添加CLASSPATH变量为“.;%JAVA_HOME%\lib;”注意前面还有个点。JDK环境配置完成。

3)开始->运行->cmd或win+R进入DOS窗口:输入java -version查看JDK是否安装成功。重启DOS窗口,环境配置成功。


3、ANT环境安装

1)解压apache-ant-1.9.3-bin.zip,ant是一个批处理工具;

2)设置ANT_ROOT,如:D:\cocos\apache-ant-1.9.3\bin,bin是我ant安装目录下的bin文件夹,ANT_ROOT环境变量在系统用户中添加

3)把“%ANT_ROOT%”加入到系统变量Path中,记得分号隔开。


4、ADT环境安装(包括SDK和Eclipse)

1)解压adt-bundle-windows-x86-20140624.zip;

2)设置ANDROID_SDK_ROOT环境,系统变量中增加。值如:”D:\cocos\adt-bundle-windows-x86-20140624\sdk“;

3)把“%ANDROID_SDK_ROOT%\tools”和“%ANDROID_SDK_ROOT%\platform-tools“加入系统Path变量中,记得分号隔开。

4)安装完ADT,将Eclipse目录下的eclipse.exe添加到桌面,双击即可完成eclipse的ADT环境的安装。

5)进入DOS下,输入:adb -h查看是否配置成功,关闭DOS重启即可配置成功。


5、安装NDK:Cocos2d-x3.2对NDK的要求r9d

1)解压android-ndk-r9d-windows-x86.zip;

2)设置NDK_ROOT环境变量,在系统变量中增加。值如:”D:\cocos\android-ndk-r9d“;

3)把”%NDK_ROOT%“加入到系统变量Path中,记得分号隔开。


6、安装Python:下

1)载并安装Python-2.7.5.msi(必须为2.7版本)

2)把Python的环境加入到系统Path变量中,值如:“C:\Python27”;

最终Path如下:“C:\Python27;%JAVA_HOME%\bin;%ANDROID_SDK_ROOT%\tools;%ANDROID_SDK_ROOT%\platform-tools;%ANT_ROOT%;%NDK_ROOT%;"

环境配置成功后重启或者关闭DOS或计算机即可更新环境变量。

进入Cocos2d-x3.2根目录,在DOS下执行setup.py看看以上路径是否存在并正确配置,如果成功如下图:并且在用户环境变量下自动生成COCOS_CONSOLE_ROOT环境变量。

交叉,android,配置,编译,环境0


三、创建Cocos2d-x3.2新项目

1、进入cocos2d-x-3.2\tools\cocos2d-console\bin;在DOS下输入:“cd  /D  文件路径”可进入任意文件路径内。也可以在要进入的文件下使用shift+右击,选择在此处打开命令窗口,同样可以进入该目录。

2、在终端输入命令:cocos new  项目名称  -p  包名  -l  cpp  -d  项目路径,创建项目成功;

3、进入项目工程下的Cocos\MyCppGame\proj.win32文件夹中,双击.sln或者.vcxproj打开项目工程,F5运行程序即可;


四、打包android Apk(此处为转载)转载自http://www.cnblogs.com/Richard-Core/p/3855130.html

然后就可以在项目目录下使用 cocos compile -p android方式编译APK文件了。


注意:在打包apk之前需要修改proj.android/jni文件夹下的Android.mk文件 添加自己新增的CPP文件,这里的新增指的是非cocos2dx生成的项目文件(自己新增的文件)。一定要把自己新增的文件或文件夹包含进apk。


首先我们拿官方的 cpp-tests项目来试手吧!


按住shift键+鼠标右键 选择在此处打开命令窗口。

1407380218765196.png

然后就可以使用 cocos compile -p android –-ap 20方式编译APK文件了(--ap 20是指定android平台)

1407380234565109.png

漫长的等待吧,当然这里要提醒一点3.1版本用的是 android-20,如果E:\Android\sdk\platforms目录下没有android-20 请创建一个空的。

1407380247882874.png

等待完毕之后 看下这个文件夹下的 apk吧!可以安装到手机上试一下了。(生成的APK一般在项目目录下\bin\debug\android,直接拷贝到手机,安装即可。)


五、异常处理

1、 Android platform not specified, searching a default one...

Can't find right android-platform for project :

"F:\cocos2d-x-3.1.1\tests\cpp-tests\proj.android".

The android-platform should be equal/larger than 20

如果你遇到这个问题,那么就要在

1407380307141750.png


下创建一个空的android-20文件夹,这个问题坑了我很久!同时要查看命令是否是 –ap 20(双-)。


检查\proj.android目录下的project.properties是否是android-20

1407380330917492.png 


2、  编译时,提示找不到gcc工具链 (Couldn't find the gcc toolchain)。

这个问题也烦了我很久!去检查下ndk的配置路径!NDK_ROOT是否正确!然后3.1版本需要的NDK是最新的版本,http://developer.android.com/tools/sdk/ndk/index.html#Installing下一个最新的版本r9d吧!


3、  如果遇到android api问题

1407380408581713.png

找到运行进行更新,看缺哪个api就更新哪个,不过这个更新比较慢,原因google被禁了。


4、Android NDK: Invalid APP_STL value: c++_static 这个要修改jni/Application.mk

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

# add -Wno-literal-suffix to avoid warning: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] 

# in NDK_ROOT/arch-arm/usr/include/sys/cdefs_elf.h:35:28: when using ndk-r9

APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1 -std=c++11 -Wno-literal-suffix -fsigned-char


5、Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 8 

这是因为NDK指定的版本与minSdkVersion不一致的问题,修改AndroidManifest.xml文件 其中android:minSdkVersion修改为<uses-sdk android:minSdkVersion="20"/>




六、在Eclipse中运行:(此处为转载)转载自:http://blog.csdn.net/ku726999/article/details/38121927

Android开发的应该已经配好 SDK

 

1、 导入cocos2d-x的jar包

Eclipse菜单 File->Import->Android->Existing Android Code Into Workspace

 

  交叉,android,配置,编译,环境1

 

2、 导入项目,同理

  交叉,android,配置,编译,环境2


3、 此时项目会报错,因为没有引用Cocos2d-x 的库文件

 

解决:右击项目 选择 Properties->Android  拉到最下面

      Remove掉报错的库文件路径,

      Add    选择libcocos2dx

  交叉,android,配置,编译,环境3

 

4、 在vs中如果新建 了 新的cpp文件,需要在 在Android.mk中添加相应的文件,格式与图中一致,注意相对路径

 交叉,android,配置,编译,环境4

 

 5、注意,如果更改了vs2012中的代码,就需要重新运行一下build_native.py


参考教程

教程1:http://www.mysjtu.com/page/M0/S962/962815.html
教程2:http://blog.csdn.net/myarrow/article/details/24474933
教程3:http://www.tuicool.com/articles/YrAZFv
教程4:http://blog.csdn.net/ku726999/article/details/38121927

本文转载自: http://www.itnose.net/detail/6090401.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值