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

Gradle构建耗时过长求助:10MB应用每次构建需2-3分钟

解决Gradle构建缓慢的思路(针对你的10MB应用)

我来帮你梳理下可能导致构建耗时2-3分钟的几个关键点,结合你提供的配置文件来看:

1. 先清理重复的依赖

看你的app模块build.gradle里,重复添加了stetho-realm的依赖:

implementation 'com.uphyca:stetho_realm:2.2.2'
implementation 'com.uphyca:stetho_realm:2.1.0'

重复依赖会让Gradle额外做冲突解析工作,直接删掉其中一个(建议保留最新的2.2.2版本),能减少不必要的开销。

2. 升级Gradle相关组件的版本

你的Gradle插件版本是3.1.2,这是比较老旧的版本了,Google后续的Gradle插件(比如7.x系列)在构建性能上做了大量优化。同时记得同步升级Gradle wrapper版本(比如插件3.1.2对应Gradle4.4,最新稳定版插件对应Gradle7.4+)。

另外,你的Firebase依赖版本是12.0.1,这个版本太老了,建议升级到较新的稳定版本(注意保持所有Firebase依赖的版本一致),新SDK不仅修复了很多问题,也优化了构建时的依赖处理逻辑。还有Google服务插件3.2.0也可以同步升级到最新稳定版。

3. 配置Gradle的性能优化参数

在项目根目录的gradle.properties文件里添加以下配置,开启Gradle官方推荐的性能优化特性:

# 启用守护进程,避免每次构建重新启动JVM
org.gradle.daemon=true
# 并行构建多个模块
org.gradle.parallel=true
# 按需配置模块,减少不必要的配置工作
org.gradle.configureondemand=true
# 启用构建缓存,重复构建时复用之前的结果
org.gradle.caching=true
# 给Gradle分配足够的内存,避免内存不足导致构建卡顿
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

这些配置能大幅减少重复构建的时间,尤其是后续的增量构建。

4. 排查插件对构建的影响

你集成了Realm、Fabric、Firebase Performance这些插件,部分插件会在构建过程中做字节码插桩操作,可能拖慢构建速度:

  • Firebase Performance插件:可以先尝试暂时禁用它(注释掉apply plugin: 'com.google.firebase.firebase-perf'),看看构建时间是否有明显下降。如果确实是它的问题,可以考虑只在release构建中启用,或者调整它的插桩范围。
  • Realm插件:确保使用的是最新版本的Realm Gradle插件,旧版本可能存在构建性能瓶颈。

5. 精简仓库配置

你的根build.gradle里的仓库配置有重复,比如google()和maven { url "https://maven.google.com" }是同一个仓库,重复添加会让Gradle在查找依赖时多走不必要的流程,建议统一保留google()即可,删掉重复的maven仓库配置。

6. 移除未启用的依赖

你提到unity-ads暂时未启用,建议把它的依赖注释掉,或者移除对应的模块引用,避免Gradle处理未使用的依赖。

最后一步:精准定位耗时环节

执行以下命令生成构建性能报告:

# Mac/Linux
./gradlew clean build --profile

# Windows
gradlew.bat clean build --profile

构建完成后,在build/reports/profile目录下会生成HTML报告,里面会详细列出每个构建任务的耗时,能帮你精准定位到底是哪个环节拖慢了构建速度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:41:56