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

如何缩小ProGuard反混淆文件大小?解决Google Play AAB上传报错

解决ProGuard反混淆文件过大无法上传AAB的问题

排查与优化方案

  • 限制mapping文件生成范围
    检查build.gradle配置,确保仅给release版本生成mapping文件,避免debug版本或多flavor重复生成冗余内容。示例配置:

    android {
        buildTypes {
            release {
                minifyEnabled true
                shrinkResources true
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
                mappingFileUploadEnabled true
            }
            debug {
                minifyEnabled false
                mappingFileUploadEnabled false
            }
        }
    }
    
  • 清理旧mapping文件
    手动删除项目build/outputs/mapping目录下的历史构建残留文件,防止打包时被误包含进AAB。

  • 精简ProGuard规则

    • 移除规则中不必要的-keep指令,仅保留业务必需的类、方法和字段,避免保留大量未使用代码导致mapping膨胀。
    • 在proguard-rules.pro中添加优化选项,精简代码结构:
      -optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
      -optimizationpasses 5
      
  • 关闭R8冗余日志
    若开启了R8详细日志,会让mapping文件包含过多调试信息。在gradle.properties中关闭相关配置:

    android.enableR8.fullMode=false
    android.r8.log.level=warning
    
  • 拆分mapping文件上传
    大型模块化项目可禁止将mapping打包进AAB,之后在Play Console手动上传对应文件。配置如下:

    android {
        bundle {
            mapping {
                enabled false
            }
        }
    }
    

验证优化效果

修改配置后执行./gradlew bundleRelease重新构建AAB,解压后查看mapping/文件夹总大小,确认是否降至1600MB以下。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 03:14:54