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

模块拆分后Jenkins上Android构建变慢 R8混淆任务耗时过长求助

排查与修复方案

  • 开启子模块独立混淆
    你当前的新library模块未开启独立混淆,所有类和资源都会直接传递给主App的R8任务统一处理,是R8耗时上涨的核心原因。在新模块build.gradle的对应构建类型闭包中添加minifyEnabled true,同时配置consumerProguardFiles 'proguard-rules.pro',补全新模块专属的混淆规则,不要留空proguard-rules.pro。子模块先完成混淆裁剪后,主App R8阶段需要处理的代码量会大幅降低。
  • 提升Gradle运行内存配置
    你当前配置的org.gradle.jvmargs=-Xmx4g在模块数量增加后,无法满足R8的内存需求,会频繁触发GC拖慢处理速度。将参数调整为org.gradle.jvmargs=-Xmx8g -XX:+UseParallelGC -Dkotlin.daemon.jvm.options="-Xmx2048M" -noverify,只要Jenkins构建机器内存足够,R8耗时会有明显下降。
  • 关闭R8全量优化模式
    在gradle.properties中添加android.enableR8.fullMode=false,全量模式下R8会执行非常耗时的激进优化,若你们对包大小没有极致要求,关闭后可减少30%以上的R8处理耗时。
  • 清理重复依赖
    执行./gradlew :你的新模块名:dependencies检查新模块是否引入了和主App、base模块重复的依赖项,对重复依赖使用exclude规则排除,减少R8需要处理的类数量,同时也能避免重复类警告拖慢R8处理速度。
  • 配置Gradle远程缓存
    在Jenkins上配置Gradle远程缓存,将各模块的编译产物、R8中间产物存入共享缓存,只要模块代码没有变动,就算是无依赖缓存的全新构建,也可以直接复用已有的模块编译缓存,能将Jenkins构建耗时降到和本地Android Studio构建接近的水平。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 11:42:02