如何根据 ABI 变体将我的应用程序拆分为 .aab 文件?

问题描述 投票:0回答:1

我想根据不同的 ABI(x86_64、x86、armeabi-v7a、arm64-v8a)将我的应用程序拆分为多个。现在我成功地根据该 ABI 获取了不同的 apk,有 4 个具有不同 ABI 的 apk。但我需要 .aab 文件。当我尝试构建 .aab 文件时,它只显示 1 个文件 .aab。有没有办法用不同的 ABI 构建 .aab 文件?我已经使用了这个代码:

splits {
        abi {
            enable true
            reset()
            include "x86_64", "x86", "armeabi-v7a", "arm64-v8a"
            universalApk false
        }
    }
android groovy apk abi aabb
1个回答
2
投票

它们就在那里,所有 ABI 都在一个 AAB 文件中。这就是 AAB 格式的工作原理,请阅读 DOCTHIS SO 主题

简而言之:ABB 不是一种“可安装”文件格式 - 它包含多个较小的 APK:每个 ABI、每个密度、每个语言。专用软件(如bundle工具)获取AAB文件和一些带有设备参数的输入数据,并生成一个连接的可安装APK,其中仅选择一个ABI(例如

arm64-v8a
)、一个带有图形的密度文件夹(例如仅
drawable-xxdpi
文件夹)和设备上设置的语言(当用户更改它时 - 应用程序需要带有
String
的新部分 APK)。为一台设备生成的 APK 文件可能无法在另一台设备上运行,因为它可能具有不同的 ABI 或屏幕尺寸

如果您在 Google Play 商店中发布 - 一切顺利,商店将自动为用户设备准备并安装正确的 APK。如果没有:确保您的应用程序商店支持 App Bundle。如果您自己分发,则必须使用上面链接的捆绑工具来生成可安装的APK(此处中的一些常用命令)

© www.soinside.com 2019 - 2024. All rights reserved.