You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android .aab包体积暴涨:多余native/mac产物如何移除?

解决APK/AAB包体积异常膨胀(含mac原生文件)问题

一、/native/mac产物是什么

base/root/native/mac下的文件是面向macOS平台的原生二进制组件,属于纯Android应用的无用冗余:

  • 这类文件大概率是你更新的Firebase、Android Auto、Billing或core类依赖引入的,部分跨平台依赖会打包桌面端(macOS)的原生逻辑,用于支持Android Studio预览或跨平台兼容场景,但对Android应用完全无意义。
  • 这些文件会被Google Play归类为「Other」,是导致包体积从5MB暴涨至51MB的核心原因。

二、移除方案

1. 直接在打包配置中排除冗余文件

在模块的build.gradle(或build.gradle.kts)中添加打包过滤规则,直接剔除mac平台的原生文件:

android {
    packagingOptions {
        exclude 'root/native/mac/**'
        exclude 'lib/mac/**' // 若存在其他路径的mac原生文件,一并排除
    }
}

2. 定位引入冗余的具体依赖

通过Gradle依赖树排查源头:

  • 执行命令查看全量依赖:
    ./gradlew app:dependencies
    
  • 重点检查Firebase、Android Auto、Billing相关依赖,找到包含macOS组件的依赖项。如果不影响功能,可以考虑:
    • 替换为仅支持Android平台的依赖变体
    • 临时降级到不含该冗余的依赖版本

3. 关闭不必要的桌面端构建特性

如果项目中开启了桌面端相关配置(比如Compose Desktop),需清理:

  • 移除build.gradle中多余的桌面插件(如org.jetbrains.compose.desktop)
  • 删除compose-desktop类的无关依赖

4. 清理缓存后重新构建

执行以下命令清理旧构建缓存,避免冗余文件残留:

./gradlew clean
./gradlew assembleRelease

内容的提问来源于stack exchange,提问作者Igro182

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 05:01:35