【问题标题】:Qt creator : create an APK compatible with multiple ABIs?Qt creator:创建与多个 ABI 兼容的 APK?
【发布时间】:2019-04-05 17:33:57
【问题描述】:

在 android 上构建 Qt 应用程序时,您必须选择是要使用 ARM abi 还是 x86 abi。是否可以创建与两种 ABI 兼容的 APK,以及如何创建?

如果我是正确的,Qt Creator 构建的 APK 有一个子文件夹 libs/ 包含 JNI 所需的所有共享库。根据您构建的内容,libs/ 包含 "armeabi-v7a""x86" 子文件夹以及正确的文件。 如何拥有包含 both 子文件夹的 APK,以便所有 Android 设备都可以运行 APK?我尝试自己修改 APK(因为它是一个普通的 .zip),但它弄乱了签名等。

或者我注定要用两个 APK 发布到 Google Play?

【问题讨论】:

标签: android qt qt-creator


【解决方案1】:

我找到了一个可行的解决方案(至少对我来说)。

  • 单独构建 APK(例如 armeabi-v7a 和 arm64-v8a)。在 QtCreator 的构建 APK 步骤中对 APK 进行签名,以便构建发布 - APK(无调试服务器)。
  • 使用 ZIP 工具(例如 7zip)打开未签名的 arm-v7a 版本 APK 并将 "/lib/armeabi-v7a" 文件夹复制到未签名的 arm64-v8a release APK(未签名的APK是QTC在签名前创建的)。
  • 在组合的 apk 上运行 zipalign 4 并使用 apksigner 对对齐的 APK 进行签名。
  • 完成

整个过程可以用cmd或者bat文件编写。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多