Android arm64 从 Quick-Cocos2dx-Community 3.7.6 开始支持。
经过一番折腾,NDK r10d 是支持 arm64的,所以我们的 Android 开发环境暂时不用升级。NDK r10d 还可以再战 3 年。。。
老项目升级需要下列步骤:
build_native.py
经过升级改造,加入了 -a
参数指定编译不同的 ABI,默认编译 armeabi-v7a
。把升级后的 build_native.py
拷贝到项目下面覆盖原来的文件,同时把改进过的 Application.mk
也拷贝到项目下面覆盖原来的文件。AppDelegate.cpp
也经过了升级改造,请对比覆盖。参考 cimmit add support for Android arm64-v8a.
现在 arm64-v8a 也是运行在 64 模式下了,对应的 bytecode 也是需要 64 位的。为了方便 windows 下发布对用的 bytecode,引擎工具目录对应添加了 windows 的 64 位 luajit,并改进了相应脚本。
AppDelegate.cpp 现在自动识别 iOS 和 Android 的位数来加载 game32.zip 或 game64.zip。
$build_native.py -a arm64-v8a
项目文件 proj.android/app/build.gradle
ndk 配置加入 arm64-v8a, 如下:
ndk {
abiFilters "arm64-v8a"
abiFilters "armeabi-v7a"
}