android 包大小比通用 apk 大得多

android bundle size much bigger than in universal apk

当我构建通用 apk 时,它的大小是 170mb。在我实施扩展文件后(由于资产文件夹很大),我必须构建捆绑包。但是捆绑包的大小要大得多——283mb。 Uppon 解压缩 aab 文件我看到,只有 lib 文件夹重量为 150mb。并包括配置中不存在的额外架构(如 mips)

  splits {
    abi {
      enable true
      reset()
      include 'x86', 'armeabi-v7a', 'arm64-v8a'
      universalApk false
    }
  }

文件夹大小存在差异,其中库主要是 C++ 库。

可以做些什么来减轻这种增长,因为 playmarket 只接受 150mb 及以下的捆绑包(不包括资产交付大小)

代码分析可以帮助找到不必要的代码。分析 -> 检查代码... -> 整个项目。那可以清理一些space。如果你有很大的依赖,你可以用较小的依赖替换它们,但是你需要重写代码。

你可以要求gradle减少依赖的大小:

android {
    // Other settings

    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

这里是 link 关于减小 apk 大小的:reduce-apk-size

还有一个:shrink code

大部分是用上面的代码添加的

A​​pp Bundle 大小并不能直接表示用户的下载量有多大。另外 150MB 的限制是 compressed download size limit.

您应该上传您的 App Bundle 并使用 Play 管理中心的 App Bundle Explorer 仔细检查下载的大小。
Google Play 商店实施了许多优化,以减少从 Android App Bundle 交付应用程序时的下载量。

您可以在文档中找到更多信息:https://d.android.com/appbundle