cocos2dx android移植,打包生成apk

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的工程中,出现
:/ /Applications/adt-bundlemacx86_64-20140702sdktoolsantbuild.xml:649: The following error occurred while executing this line
Applications/adt-bundlemacx86_64-20140702sdktoolsantbuild.xml:694 Execute failed javaio.IOExceptionCannot 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.

<property name="aidl" location"${android.build.tools.dir}/aidl${exe}" />"aapt""${android.build.tools.dir}/aapt${exe}""dx""${android.build.tools.dir}/dx${bat}""zipalign""${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文件夹中

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...