首页 > 解决方案 > 使用 app bundle 时禁用或减少 app 压缩

问题描述

用户在我的应用程序中遇到错误,只有在修改了某些资产文件时才有可能。我猜这是因为 app bundle 正在执行某种有损压缩。

我怎么能把它关掉?

编辑:展示我如何使用解压缩:

aaptOptions {
    noCompress 'fst', 'txt', 'int', 'mdl', 'raw', 'csl', 'mat', 'conf', 'bin', 'carpa', 'pb', 'pt', 'vec'
}

相关文件在 [assets/]model/ 中

我已经发布了模型内部超过 150MB 的应用程序/这就是为什么我认为它必须被压缩。目前输出 148MB du -hsmodel/应用下载大小为 125 到 139MB。

标签: androidandroid-app-bundle

解决方案


Android App Bundle 不会修改资产。

bundletool build-apks您可以通过在本地运行来重现 APK 的生成方式。请参阅bundletool 文档

一个可能的问题是,如果您直接从 APK 映射资源,那么它们需要在 APK 中保持未压缩,在这种情况下,您需要指出哪些资源需要在最终 APK 中保持未压缩,您可以使用 Gradle 来做到这一点使用:

android {
    aaptOptions {
        noCompress 'png', 'mp3'
    }
}

https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.AaptOptions.html


推荐阅读