【问题标题】:Produce an APK for multiple architectures for Qt projects为 Qt 项目的多种架构生成 APK
【发布时间】:2017-02-01 12:16:34
【问题描述】:

在 3d 派对 APK 文件中,我注意到有用于不同架构的文件夹 - armv7、arm64、x86、mips - 因此单个 APK 适用于 Android 支持的多种架构。

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

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

【问题讨论】:

  • 你问的很好,但 QtCreator 绝对不支持。您应该在此处填写增强请求:bugreports.qt.io
  • @jpo38 实现了 5000 多个功能请求中的 15 个,我觉得“为什么要打扰”。我现在质疑错误报告,有 2 个错误被认为是“关键”报告,一年多的工作量为零……
  • 总是很好地记录东西,以防他们将来有时间修复问题。

标签: android qt apk multiplatform


【解决方案1】:

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

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

2- 使用任意压缩/解压软件打开所有APKs进行编辑(我使用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 文件。您可以使用此工具对您的包进行压缩对齐并再次签名。如下使用jar。

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。干杯!

【讨论】:

    猜你喜欢
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多