如何提高gradle编译速度

1. Analyze

./gradlew clean build --profile

会在build/reports/profile下生成一份报告

如何提高gradle编译速度_第1张图片
image.png
  • Configuration: 配置项目的时间
  • Dependency Resolution:解析依赖的时间
  • Task Execution:任务执行的时间

2. Performing Tuning

gradle.properties中设置一下几项

org.gradle.daemon=true

org.gradle.parallel=true

org.gradle.configureondemand=true

minSdkVersion 设置为 21也可以加快编译(thanks to ART?? 没试过)

一种典型的情况是unit test时间会很长:

  • 不要用Robolectric,Robolectric is slow

  • Disable Unit Test Reports

android {
    testOptions.unitTests.all {
        reports.html.enabled = false
        reports.junitXml.enabled = false
    }
}
  • 并行执行unit test
testOptions.unitTests.all {
    maxParallelForks = 8
}
  • 如果unit test占用内存很多,在执行一定数量case后,可以fork出新的vm以执行新的case(防止当个vm内存溢出)
testOptions.unitTests.all {
    forkEvery = 200
}
  • 使app模块化可以并行编译各个模块

你可能感兴趣的:(如何提高gradle编译速度)