不得不學之「 Gradle」 ①入門

Mr.S發表於2019-04-01

1、執行 Gradle 檔案

build.gradle 是 Gradle 預設的構建指令碼檔案,執行 Gradle 命令的時候,會預設載入當前目錄下的 build.gradle 載入指令碼檔案。當然我們也可以通過 -b 來指定要載入的檔案。

例如我們新建了一個 build.gradle 檔案

task hello{
	doLast{
	println 'Hellow World'
	}
}
複製程式碼

我們通過以下命令 執行該任務 這就是預設載入 build.gradle。

gradle -q hello
複製程式碼

我們重新命名為 a.gradle 那麼我們就指定檔名字即可。

gradle -b a.gradle -q hello
複製程式碼

2、Gradle Wrapper

給 Gradle 加了一層包裝,便於團隊開發中統一 Gradle 構建版本。避免因為 Gradle 版本不同帶來的問題。

gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
複製程式碼

3、Gradle 日誌

日誌級別
我們之前的 -q 就是篩選重要資訊。

!日誌開關選項(user-gold-cdn.xitu.io/2019/4/1/16…)

在我們使用 Gradle 構建的時候,失敗是很經常的事情,那麼如何檢視錯誤資訊呢?那麼就用到 Gradle 日誌了,以及開啟錯誤堆疊。

錯誤堆疊開關選項

注意:推薦使用小 s,大 S 輸出的太多了。

當然我們也可以像 java 開發那樣自己列印日誌。

task hello{
		doLast{
	println 'Hellow World'
	logger.quiet('quiet 日誌資訊')
	logger.error('error 日誌資訊')
	logger.warn('warn 日誌資訊')
	logger.lifecycle('lifecycle 日誌資訊')
	logger.info('info 日誌資訊')
	logger.debug('debug 日誌資訊')
	}
	
}
複製程式碼

執行結果

4、Gradle 命令列

1)、幫助

./gradlew tasks --allgradlew -h
./gradlew tasks --allgradlew -help //幫助
複製程式碼

2)、檢視 task

./gradlew tasks --all //檢視所有 task
複製程式碼

3)、help task 瞭解每一個 Task 的使用幫助

./gradlew help --task hello
複製程式碼

不得不學之「 Gradle」 ①入門

4)、強制重新整理依賴 因為我們的第三方庫每次編譯不可能都去下載第三方庫,所以會有快取。但是我們如何去強制重新整理呢?IDE 一般不會強制重新整理。

./gradlew --refresh -dependencies assemble
複製程式碼

5)、多工呼叫 當我們要同時執行多個任務的時候,只需要按順序以 「空格」 分開即可。

6)、通過任務名字縮寫執行 這個其實很實用,比如我們要執行 coonectCheck,我們怎麼簡寫呢?注意 Gradle 是以駝峰命名法進行縮寫呼叫的,所以就是 cc,即 ./gradlew cc

劃重點: 本文是完全參考 《Android Gradle 權威指南》而寫,作為學習筆記使用。

相關文章