I have handful of apps in android on google play. I just need to update the app as per the below requirement mentioned by google recently. i.e., all the app has to be compatible with 64-bit .
https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html
Questions:
Prerequisites: Some basic knowledge of Java, OOP, and Android development. The latest version of Android Studio.
Android Studio provides a unified environment where you can build apps for Android phones, tablets, Android Wear, Android TV, and Android Auto. Structured code modules allow you to divide your project into units of functionality that you can independently build, test, and debug.
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:
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 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"
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")
.....
}
}
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
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With