Skip to content

构建加速技巧

源:优化构建速度

随着项目增大,构建时间往往会呈指数级增长。以下是几种核心优化手段:

1. 基础开关 (gradle.properties)

gradle.properties 文件中开启以下功能:

properties
# 开启并行编译
org.gradle.parallel=true

# 开启构建缓存
org.gradle.caching=true

# 分配更大的 JVM 内存
org.gradle.jvmargs=-Xmx4g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# 开启守护进程 (Daemon)
org.gradle.daemon=true

# 开启配置缓存 (Configuration Cache)
# 这是目前提升速度最明显的功能,跳过每次构建的配置阶段
org.gradle.configuration-cache=true

2. 避免不必要的任务

在开发阶段,可以关闭一些不影响运行的任务:

  • 禁用 PNG 压缩: 仅针对 Debug 构建。
    kotlin
    android {
        buildTypes {
            getByName("debug") {
                isCrunchPngs = false
            }
        }
    }
  • 跳过 Lint 和 Test: 如果只是想快速运行,可以跳过。
    bash
    ./gradlew assembleDebug -x lint -x test

3. 使用 KSP 替代 Kapt

Kapt 是基于 Java 的注解处理器,速度较慢。KSP (Kotlin Symbol Processing) 是专门为 Kotlin 设计的,性能提升可达 2x。

TIP

Room, Hilt, Moshi 等主流库均已支持 KSP。

4. 构建分析 (Build Scan)

想知道到底是哪个 Task 慢?使用 --scan 参数。

bash
./gradlew assembleDebug --scan

执行完成后,会生成一个在线报告链接,详细展示:

  • Task 执行耗时排行。
  • 网络下载耗时。
  • 依赖冲突。
  • 编译建议。