cocos2d-x3.2 在Windows下打包Android平台APK

一、下载Android环境

搭建Android环境需要用到AndroidSDK、NDK、Ant和JDK;

下载AndroidSDK 

下载AndroidNDk

下载AndroidJDK

下载Ant

其中JDK是需要安装的,其他的都直接解压即可。将SDKNDK和ANT解压缩到同一个文件夹中,我解压后文件都放在了e:\Android文件夹下

SDK如果下载下来的adt文件那么把里面的SDK文件夹考出来,修改

二、配置JDK

在JDK安装完毕之后,需要手动进行环境变量的配置

1、系统变量里新建JAVA_HOME变量,变量值为:C:\ProgramFiles\Java\jdk1.8.0_05(根据自己的安装路径填写)

2、新建系统变量classpath变量,变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意前面的“.”不要忘记了)

3、在系统变量path变量(已存在不用新建)添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意变量值之间用“;”隔开)

环境变量的解析:

JAVA_HOME:jdk的安装路径

classpath:java加载类路径,只有类在classpath中java命令才能识别,在路径前加了个"."表示当前路径。

path:系统在任何路径下都可以识别java,javac命令。

在配置完成之后,我们打开cmd命令窗口,输入java或javac回车,如果不是打印“java不是内部或外部命令”那就说明配置成功了。

三、配置Ant环境变量

把ant的存放路径加入系统Path变量。

四、配置cocos2dx3.1Android环境关联

以上已做好准备工作,打开cocos2dx目录下的setup.py。

输入ndk的路径。

输入sdk路径

最后输入的是ant的路径。

OK,三个路径都已经配置完毕:

五、打包Apk

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

首先我们拿官方的cpp-tests项目来试手吧!按住shift键+鼠标右键选择在此处打开命令窗口。

然后就可以使用cocoscompile-pandroid–-ap20方式编译APK文件了(--ap20是指定android平台,我用的是20,也有19等其他的,根据跟人下载的而定)

然后运行:cocosrun-pandroid--ap20

要是不行就用cocoscompile-pandroid

当出现:“-waitingfordevice-error:”的时候按Ctrl+C终止就可以了。

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

等待完毕之后看下这个文件夹下的apk吧!可以安装到手机上试一下了。

如果需要把项目在真机上弄成竖屏,只需在proj.android文件夹下的AndroidManifest.xml中改一改,android:screenOrientation="landscape"(横屏),android:screenOrientation="portrait"(竖屏),它默认为横屏

六、异常处理

1、Androidplatformnotspecified,searchingadefaultone...

Can'tfindrightandroid-platformforproject:

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

Theandroid-platformshouldbeequal/largerthan20

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

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

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

2、make.exe:***Noruletomaketarget`/home/tubuntu/game/android-ndk-r9d/sources/android/cpufeatures/cpu-features.c',neededby`obj/local/armeabi/objs/cpufeatures/cpu-features.o'.Stop.

解决办法:从后缀名来看,这个肯定是编译中间文件(可以删除)。而Make的Noruletomaketarget则一般说明是已经存在了,不用再编译。所以我们进入E:\cocos2d-x-3.2\Projects\HelloCpp111\proj.android\obj\local\armeabi把objs-debug文件夹下面的文件包括文件夹)全删除

3、make.exe:***obj/local/libcoccos2dcpp.so……

解决办法:产生这个原因的是没有在Android.mk文件添加自己的文件,进入E:\cocos2d-x-3.2\Projects\HelloCpp111\proj.android\jni文件夹下打开Android.mk文件添加自己的文件,如下图:

4、编译时,提示找不到gcc工具链(Couldn'tfindthegcctoolchain)。

这个问题也烦了我很久!去检查下ndk的配置路径!NDK_ROOT是否正确!然后3.1版本需要的NDK是最新的版本,去安卓网站下一个最新的版本r9d吧!

5、如果遇到androidapi问题

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

6、出现 build.xml:932 build.xml:950 错误

这是由于你的资源文件中出现了中文命名的文件,AAPT是没有办法识别的, IOS是可以识别的,但是AAPT不行,所以最好不要使用中文命名任何文件或者文件夹。

相关文章

操作步骤 1、创建cocos2d-x工程 2、新建 Scene1.cpp Scene1.h Scene1.h代码 #ifndef __SCENE1_H__#defi...
开发环境:OS(WINDOWS 8.1 X64 企业版) cocos2d-x 2.2.1 vs2010 想给vs安装上cocos的模版,执行Install...
把创建项目做成一个批处理,当创建项目时可以省时省力很多。 操作步骤 1、在 E:cocos2d-x-2.2.1toolspr...
https://www.cnblogs.com/JiaoQing/p/3906780.html 四个响应函数 1 EventListenerPhysicsContact* evC...
转载于 http://www.cnblogs.com/kenkofox/p/3926797.html 熟悉js的dom事件或者flash事件的,基本都能立...
ScrollView(滚动容器)加载大量item时会导致游戏界面的卡顿,严重时整个界面会出现卡死的情况。最近项...