儘量的使用最新版本的 Gradle 和 JVM,這是最簡單直接的方式,Gradle 開發團隊會持續的更新 Gradle 版本,來優化構建速度以及提供一些新的特性,而使用新版本的 JVM,是由於 Gradle 運行在 JVM 上,因此,若是新版本的 JVM 提高了性能,一樣也會讓 Gradle 跑的更快。html
Parallel execution,並行執行 Gradle 的 tasks,在你的 gradle.properties 文件添加如下配置:android
開啓並行編譯 //org.gradle.parallel=true 開啓守護進程 經過開啓守護進程,下一次構建的時候,將會鏈接這個守護進程進行構建,而不是從新fork一個gradle構建進程 org.gradle.daemon=true
//啓用新的孵化模式 org.gradle.configureondemand=true //開啓 Gradle 緩存 org.gradle.caching = truegit
配置階段github
減小沒必要要的 apply plugin,按需使用。若是某個插件不是全部的模塊都要使用的狀況下,就不要使用 allprojects{} 的方式。 在配置階段避免執行一些耗時的工做,好比 IO 操做或者網絡請求等緩存
Daemon 在老版本的 Gradle 開啓 Daemon 配置,而在 3.0 之後的 Gradle 版本是默認支持的。網絡
調整 daemon’s 的堆大小,默認是 1 GB,如需調大,可在你的 gradle.properties 設置: org.gradle.jvmargs=-Xmx2048Mapp
使用 implementation 替代 compile,有效的減小編譯時的依賴項,需升級至 Gradle 3.4 版本jvm
增量編譯,Gradle 能夠將依賴關係分析到單個類級別,以便僅從新編譯受更改影響的類。 增量編譯是 Gradle 4.10 以來的默認編譯。 在老的版本中,能夠像這樣激活它: tasks.withType(JavaCompile) { options.incremental = true }ide
使用最新版本的工具工具
避免編譯沒必要要的資源,好比沒必要要的語言本地化, 你能夠只指定一種語言資源和屏幕適配,如如下示例所示: android { ... productFlavors { dev { ... // The following configuration limits the "dev" flavor to using // English stringresources and xxhdpi screen-density resources. resConfigs "en", "xxhdpi" } ... } }
使用 WebP 格式的圖片,有效減小圖像文件大小,而沒必要執行構建時壓縮,能夠加快你的構建
關閉 PNG crunching,加快構建速度經過禁用自動圖像壓縮,Gradle 3.0 版本以上在 debug 的構建類型下是默認關閉的。如需手動配置其餘構建類型,以下示例: android { buildTypes { release { // Disables PNG crunching for the release build type. crunchPngs false } }
// If you're using an older version of the plugin, use the // following: // aaptOptions { // cruncherEnabled false // } }