怎樣將Gradle構建速度提高90%

1、第一個最有效的辦法

檢查你使用的Gradle插件版本,是否是最新的。若是不是最新的,請升級到Gradle插件的最新版本。緩存

Gradle在升級過程當中一直對構建速度作了優化,升級到Gradle最新版本後,能將構建速度提高80%,這是最有效的辦法。bash

2、Gradle的一些配置項

一、Gradle Daemon

開啓Gradle的守護進程來構建項目:jvm

org.gradle.daemon=truegradle

二、Parallel Project Execution

若是你要構建一個多Module而且依賴關係比較複雜的項目,那麼你可使用並行項目執行:優化

org.gradle.parallel=trueui

三、Global gradle.properties

在Gradle主目錄中配置的屬性優先級高於在項目中配置的屬性。當你並不想一個個項目的去改動配置時,能夠定義一份經常使用的Gradle配置文件放在Gradle的主目錄下,它的路徑以下:spa

/Users/用戶名/.gradle/gradle.properties插件

#Enable daemon
org.gradle.daemon=true

# Try and findout the best heap size for your project build.
org.gradle.jvmargs=-Xmx5120m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# Modularise your project and enable parallel build
org.gradle.parallel=true

# Enable configure on demand.
org.gradle.configureondemand=true
複製代碼

3、去掉耗時任務

在項目的Terminal下運行以下命令:code

gradle build -profile
複製代碼

能夠獲取構建報告,它是以HTML的形式展現的。cdn

基於上述的優化,咱們看一下當前的構建報告:

第一次執行

因爲第一次沒有構建緩存,所以第一次比較慢,用時5分11秒。

注意:若是Gradle檢測到配置文件有修改,如gralde.properties、build.gradle文件等,則會從新發起構建,時間也會比較長。

第二次執行

相比較第一次,已經有了很大的進步了,用時1分26秒左右。咱們再來看一下這一分26秒是用在哪裏了:

在Task Execution(任務執行)中,能夠看到每個項目中耗時最長的居然是lint任務。lint任務就是靜態代碼檢測,無論你有沒有用到lint,默認都會執行這個任務。

因爲咱們項目中並無用到lint,因此咱們將lint任務去掉,也就是在執行build命令時加上-x lint這個參數,即

gradle build -x lint
複製代碼

第三次執行

能夠看到將lint任務去掉後,構建時間只用了26秒,這個時間仍是能夠接受的。

通過上面的優化後,Gradle構建速度從以往平均4分鐘,減小到了26秒,優化率達到了89%。

Tips:使用Android Studio任務欄直接點擊運行按鈕是不能去掉lint任務的,因此爲了方便構建後安裝應用,可使用 gradle installDebug -x lint 命令。

4、結論

Gradle的插件版本對Gradle的構建速度相差很大,因爲Gradle版本升級一直致力於提高構建速度,因此強烈推薦升級Gradle版本,以獲取最大限度的構建速度,再通過Gradle的一些配置和減小耗時任務,徹底能夠在40秒以內構建好一個項目。

相關文章
相關標籤/搜索