在 3d party APK 文件中,我注意到有不同架构的文件夹 - armv7、arm64、x86、mips - 因此单个 APK 适用于 Android 支持的多种架构。
但是,我似乎没有找到一种方法来使用 Qt 项目来做到这一点。我有一个针对多个架构的项目,但我一次只能为一个架构生成一个APK,并且仅限于当前活动的项目套件。
是否有可能为 Qt 项目生成这样的多架构 APK?
我已经找到了解决此问题的方法。当我的 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 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。干杯!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)