如何使基于 GluonMobile 的应用程序与新的 Google 64 位架构策略兼容?

How to make the GluonMobile-based app compatible with the new Google 64-bit architecture policy?

我收到来自 Google 的消息,说在 2019 年 8 月 1 日之后,所有使用本机代码的应用程序都应发布为 64 位版本,而不是仅作为 32 位版本,否则将拒绝任何进一步的更新。

我的基于 GluonMobile 的应用被列为只有 32 位库。 APK Analyzer 在 \lib\armeabi 下显示了一组 .so 文件,据我了解,这些文件是那些库:

libjavafx_font_freetype.so
libjavafx_iio.so
libdecora_sse.so
libprism_common.so
libprism_es2_monocle.so
libglass_monocle.so
libactivity.so
libwebview.so
libjavafx_font.so

google (https://developer.android.com/distribute/best-practices/develop/64-bit#building_with_android_studio_or_gradle) 提供了一些说明,但我不确定将此配置放在哪里(在 GluonMobile 应用 build.gradle 的哪个部分文件,如果它完全适用于这种情况)。

我究竟应该怎么做才能使 GluonMobile 应用程序与新的 Google 政策兼容?

jfxmobile 插件刚刚更新以提供对 64 位库的支持,您需要升级您的项目才能使用版本 1.3.17。

或者,如果您想保留旧版本的插件,您可以这样做:

jfxmobile { javafxportsVersion = '8.60.12' ... }

但是如果您使用 Gluon 插件为您的 IDE 创建一个新项目,现在您将得到:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.3.17'
    }
}
...

然后,如果您 运行 ./gradlew android./gradlew androidInstall,您将获得带有 lib 文件夹的 apk,例如:

lib
  |-- arm64-v8a
  |-- armeabi-v7a

所以现在支持 32 位和 64 位。

请注意,拥有两组库会使 apk 的大小增加 2.5 MB。