我在Google Play上的Android应用程序很少。我只需要按照Google最近提到的以下要求更新应用程序即可。也就是说,所有应用都必须与64位兼容。
https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html
问题:
答案 0 :(得分:9)
我也收到了Google的电子邮件,开始怀疑我的游戏是否与64位体系结构兼容。
回答您的问题:根据官方libgdx changelog x64支持已在1.9.0版(2016年1月24日发行)中添加。因此,如果您的投影是使用此版本设置的,那很好! x64已经受支持。
如果(例如在我的情况下)您的项目最初使用的版本是 1.9.0之前的版本,则需要更改代码:
1)将以下几行添加到根build.gradle
中:
project(":android") {
dependencies {
....
// x32 support
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
// NEW x64 support
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64"
....
}
}
请注意,如果您应该为所使用的每个第3方库添加这两行,例如我有gdx-freetype-platform
,所以我加了
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-arm64-v8a"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86_64"
2)将以下行添加到特定于android的build.gradle
中:
task copyAndroidNatives() {
....
file("libs/arm64-v8a/").mkdirs()
file("libs/x86_64/").mkdirs()
configurations.natives.files.each { jar ->
....
if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
if (jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
.....
}
}
3)重建项目,并检查arm64-v8a
和x86_64
文件夹是否出现在android-> libs文件夹中,并且它们都包含libgdx.so
文件
4)测试!最简单的方法是在真实设备上进行测试,因为其中很多设备都支持x64。
旁注!
如果不确定是否包含这些库,请转到Intellij Idea \ Android Studio中的“构建”->“分析APK”,并检查lib
包含arm64-v8a
或x86_64
文件夹