Gradle 构建速度优化指南:从配置到插件,实测提速 50%+
Gradle 作为主流的构建工具,广泛应用于 Java、Kotlin、Android 等项目,但随着项目规模扩大,依赖增多、任务复杂,构建速度会显著下降,严重影响开发效率。本文从基础配置优化、依赖管理优化、任务与插件优化、缓存与并行构建、硬件与环境优化五大维度,提供可落地的优化方案,结合实测数据验证效果,帮助项目实现 50%+ 的构建提速。
一、基础配置优化:从 gradle.properties 入手
gradle.properties 是 Gradle 核心配置文件,通过调整 JVM 参数、构建模式等基础配置,可快速降低构建耗时。以下是经过实测验证的关键配置项,建议直接复制到项目根目录的 gradle.properties 中:
配置项
作用
推荐值(根据项目规模调整)
提速原理
org.gradle.jvmargs
配置 Gradle 守护进程的 JVM 参数,优化内存分配
-Xms4g -Xmx4g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
避免 JVM 频繁 GC(内存不足时会频繁垃圾回收,拖慢构建),4G 堆内存适用于中大型项目,小型项目可设为 2G
org.gradle.parallel
开启并行构建,同时执行多个模块的独立任务
true
多核 CPU 场景下,并行处理互不依赖的模块(如多模块项目的 compile、test 任务),实测可减少 30%+ 模块构建耗时
org.gradle.configureondemand
按需配置模块,仅配置当前构建需要的模块
true
跳过未参与当前构建的模块配置流程(如修改单个模块时,不加载其他模块的 build.gradle),大型多模块项目效果显著
org.gradle.caching
开启构建缓存,复用已完成的任务输出
true
避免重复执行相同任务(如依赖未变更时,不重新下载依赖、不重新编译未修改的代码),二次构建速度提升 50%+
org.gradle.vfs.watch
开启文件系统监听,检测文件变更更高效
true
替代传统的文件扫描,快速识别修改的文件,减少不必要的任务触发(需 Gradle 6.5+)
kotlin.incremental.compilation
Kotlin 增量编译,仅编译修改的代码
true
避免 Kotlin 代码全量编译,Kotlin 项目必备,增量编译耗时可降低 70%+
二、依赖管理优化:减少冗余与耗时
依赖是 Gradle 构建的核心环节,依赖下载慢、冗余依赖多会直接拖慢构建速度,优化方向如下:
1. 统一依赖版本,避免冲突与重复下载
使用 dependencyManagement 统一版本:在根项目 build.gradle 中通过 dependencyManagement(Maven 风格)或 ext 变量定义依赖版本,避免子模块版本不一致导致的重复下载。// 根项目 build.gradle
ext {
springBootVersion = "2.7.10"
kotlinVersion = "1.8.22"
}
allprojects {
repositories {
mavenCentral()
// 优先使用国内镜像(如阿里云)加速下载
maven {
url "https://maven