这几天公司项目使用到了Cocos2d-js,需要打包生成Android的apk包,但是发现生成的apk包在64位8核的手机上会闪退,原因是没有在apk中打包arm64-v8a的so包。于是需要修改Cocos2d-js的make文件来重新编译,经过几番波折,还是没有成功,在这里把中间遇到的问题记录下来,希望对后来者有帮助。
首先,官方教程中有对64位的打包进行了说明,如下:
http://cocos2d-x.org/news/390
根据官方教程中的说明,最麻烦的地方在于需要将Cocos2d-x所用到的所有第三方库都要重新生成64位的so包,因为Cocos2d-x官方只支持32位的版本。
于是开始一个个将第三方库下载到本地,结果下载下来之后发现很多第三方库都没有Android.mk文件,需要自己去编写,瞬间崩溃。后来在找资料的过程中无意中发现Cocos2d-x官方其实提供了所有第三方库的工程,地址如下:
https://github.com/cocos2d/cocos2d-x-3rd-party-libs-src
这个地址中有详细的说明如何将各个第三方库打包成64位,大家按步骤完成即可。在这里我把打包过程中遇到的问题和解决方法给大家分享一下。
其中一个比较麻烦的问题如下,很多库打包的时候都会报错:
autoreconf: running: aclocal -I /Users/zhaoxy/Downloads/cocos2d-x-3rd-party-libs-s