Updating android app with Libgdx for 64-bit devices

 ̄綄美尐妖づ 提交于 2019-12-03 06:44:40

I've also received that email from Google and started to wonder if my game is compatible with 64-bit architectures.

Answering your question: as per official libgdx changelog x64 support was added in version 1.9.0 (released 24.01.2016). So if your projected was set up using this version you're good to go! x64 is already supported.

If (like in my case) your project initially used version prior 1.9.0 then code changes are required:

1) Add the following lines into root 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"
     ....
   }
}

Note, that if you should add those two lines for each 3rd party library you're using, e.g. I have gdx-freetype-platform, so I added

    natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-arm64-v8a"
    natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86_64"

2) Add the following lines into android-specific 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) Rebuild project and check that arm64-v8a and x86_64 folders appeared in android->libs folder and that both of them contain libgdx.so file

4) Test it! Easiest way is to test on a real device since a lot of them support x64.

Side note! If you're not sure if the libs are included go to Build-> Analyze APK in Intellij Idea\Android Studio and check that lib contains arm64-v8a or x86_64 folders

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!