我们项目使用quick3.3,是使用NDK编译的。根据google开发文档,只需要修改Application.mk即可。
APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
但是我们使用的NDK是r9d,不识别arm64。NDK是r10e开始支持arm64的。
更新NDK后编译报错,发现是因为cocos的external下的第三方库没有arm64的静态链接库。
报错的第三方库:freetype2、jpeg、chipmunk、curl、png、tiff、webp、websockets。
cocos2dx3.13开始支持arm64,尝试将3.13的静态链接库拷贝过来重新编译,发现报错。版本跨度太大,联网部分差别很大。直接替换导致很多方法找不到。
问题未解决,先记录一下。明天接着搞。
最终找到解决方法是,下载最新版quick社区版,替换第三方库,和cocos\network,cocos\scripting\lua-bindings\manual\network两个文件夹,就编译通过了,因为新版cocos没有x86_64静态链接库,所以我也没有编译x86_64。
另外,当时用cocos2dx3.13和3.17替换第三方库时发现报错,没有继续下去,可能替换network文件夹后也可以编译成功,我不想再试了。