如何将基于 ABI 变体的应用拆分为 .aab 文件?

How to split my apps based on ABI varians to .aab file?

我想根据不同的 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
        }
    }

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

简而言之:ABB 不是一种“可安装”文件格式 - 它包含多个较小的 APK:每个 ABI、每个密度、每个语言。专用软件(如 bundle tool)获取 AAB 文件和一些带有设备参数的输入数据,并生成一个连接的可安装 APK,仅选择一个 ABI(例如 arm64-v8a),一个带图形的密度文件夹(例如 drawable-xxdpi 文件夹)和设备上设置的语言。为一台设备生成的 APK 文件可能不会 运行 在另一台设备上生成,因为它可能具有不同的 ABI 或屏幕尺寸

如果您在 Google Play 商店中发布 - 一切顺利,商店会自动为用户设备准备和安装合适的 APK。如果不是:确保您的应用商店支持 App Bundle。如果您自己分发,则必须使用上面链接的捆绑工具来生成可安装的 APK(HERE 中的一些常用命令)