为 Qt 项目的多种架构生成 APK

dte*_*ech 5 qt android multiplatform apk

在 3d 方 APK 文件中,我注意到有不同架构的文件夹 - armv7、arm64、x86、mips - 所以一个 APK 适用于多种架构,Android 支持。

但是,我似乎没有找到用 Qt 项目做到这一点的方法。我有一个针对多个架构的项目,但我一次只能为一个架构生成一个 APK,只能为当前活动的项目工具包生成。

是否有可能为 Qt 项目生成这样的多架构 APK?

Far*_*der 2

我已经找到了解决此问题的方法。当我的 Qt 应用程序必须遵守 Google 为 64 位架构提供 64 个二进制文件的要求时,我遇到了这个问题。尽管这个过程不是完全自动化的,但它是有效的。

1- 为不同的架构构建 APK(在我的例子中为 armeabi-v7a 和 arm64-v8a)

2-使用任何压缩/解压软件打开所有APK进行编辑(我使用Ubuntu提供的默认值。在Windows上可以使用WinRaR)

3-转到“lib”文件夹并复制以架构命名的文件夹(arm64-v8a、armeabi-v7a等)

4- 将步骤 3 中复制的所有文件夹合并到任一 APK 的 lib 文件夹中。现在我们将使用这个 APK 继续前进

5- 转到 APK 根目录中名为“META-INF”的文件夹并删除文件 *.RSA 和 *.SF

6- 现在关闭 APK 文件。

7- 转到https://github.com/patrickfav/uber-apk-signer并下载 Jar 文件。您可以使用此工具对您的包进行 zipalign 和签名。按如下方式使用罐子。

java -jar uber-apk-signer-1.0.0.jar --apks ./android-build-release-signed.apk --ks android_release.keystore --ksAlias your_certificate_alias

现在您可以将最终的 APK 发布到 Google Play。干杯!