您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx android移植,打包生成apk

2015-06-18 13:15 537 查看
1、环境的配置需要用到的文件有:jdk(安装),ndk、ant、sdk、eclipse(解压,CDT、ADT在程序中使用在线安装);
环境变量的配置:
大部分网上都有教程,要注意adb的配置,这个文件在sdk/platform-tools文件夹下,我们新建一个系统变量“android”,值为“D:\Android\adt\sdk\platform-tools;D:\Android\adt\sdk\tools; ”注销之后打开命令行,输入adb,回车,有内容显示则成功;
jdk安装、设置环境变量、注销之后,在命令行输入javac,有内容显示则成功;
ndk、sdk、ant的环境变量设置在cocos2d游戏引擎文件夹下,执行setup.py脚本会提示输入路径,ndk、sdk的路径指向文件夹即可,ant的路径要指向文件夹下的bin文件夹,成功之后会自动设置好环境变量

参考链接:http://m.blog.csdn.net/blog/u010693827/44939573

2、在打包apk之前需要修改proj.android/jni文件夹下的Android.mk文件 添加自己新增的CPP文件

3、sdk版本建议不要使用sdk24.3.2(当前最新),在项目的proj.android文件夹下使用命令行cocos compile -p android --ap 20生成apk的工程中,出现

[code]
/Applications/adt-bundle-mac-x86_64-20140702/sdk/tools/ant/build.xml:649: The following error occurred while executing this line
:/[/code]
Applications/adt-bundle-mac-x86_64-20140702/sdk/tools/ant/build.xml:694: Execute failed: java.io.IOException: Cannot run program

"/Users/****/UnityProjects/****/JavaTestPlugin/${aapt}": error=2, No such file or directory


这是由于使用了24.3.2的sdk tools,解决办法:

Add following 4 lines to android-sdk-path/tools/ant/build.xml starting line 484 and hopefully it should solve.
[code]<property name="aidl" location="${android.build.tools.dir}/aidl${exe}" />
<property name="aapt" location="${android.build.tools.dir}/aapt${exe}" />
<property name="dx" location="${android.build.tools.dir}/dx${bat}" />
<property name="zipalign" location="${android.build.tools.dir}/zipalign${exe}" />


ps:我尝试另一种方法,使用旧版的sdk tools,同样能够解决该问题

参考链接:http://stackoverflow.com/questions/30812770/ant-jar-error-execute-failed-java-io-ioexception-cannot-run-program-aapt

4、使用cocos compile -p android --ap 20生成apk过程中,也可能出现
BUILD FAILED
E:\BST\adt-bundle-windows-x86-20130917\sdk\tools\ant\build.xml:892: The following error occurred while executing this line:

E:\BST\adt-bundle-windows-x86-20130917\sdk\tools\ant\build.xml:894: The following error occurred while executing this line:

E:\BST\adt-bundle-windows-x86-20130917\sdk\tools\ant\build.xml:906: The following error occurred while executing this line:

E:\BST\adt-bundle-windows-x86-20130917\sdk\tools\ant\build.xml:284: null returned: 2

错误的原因是使用compile的过程中,有些文件被重复添加了,不过我们可以使用命令行+导入eclipse的方式生成apk,不过我觉得既然能一次性生成,就不要用eclipse了,所以,可以注释掉proj.android文件夹下的project.properties中android.library.reference.1=../cocos2d/cocos/platform/android/java语句

参考链接:http://www.cppblog.com/colorful/archive/2014/12/25/209298.html

5、使用cocos compile -p android --ap 20生成apk过程中,也可能出现“程序包org.Cocos2dx.lib不存在”
解决方法:

复制 ***\cocos\platform\android\java\src\ (***为cocos2d-x更目录) 到你android项目中的src文件夹中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: