Wrapper,就是對Gradle的一層包裝,便於在團隊開發過程當中統一Gradle構建的版本。這樣你們就可使用統一的Gradle版本進行構建,避免由於Gradle的版本不統一帶來的沒必要要的問題。shell
這裏咱們把Wrapper這塊的內容放在第二節的緣由爲,咱們在項目開發中,使用的都是Wrapper這種方式。而不是咱們在第一節中講的那樣,本身下載一個壓縮包,配置環境的方式。Wrapper在Window下是一個批處理文件,在Linux/Mac下是一個shell腳本。當你使用Wrapper啓動Gradle時,Wrapper會檢查Gradle有沒有被下載和關聯,若是沒有就會從配置的地址下進行下載並運行構建。這對咱們開發者來講是很是友好的,只要執行Wrapper命令,它就能幫你搞定一切。網絡
下面咱們來詳細講述一下Wrapper相關的知識。app
Gradle提供了內置的Wrapper task來幫助咱們生成Wrapper文件所需的目錄文件,在一個項目的目錄下輸入gradle wrapper便可生成:gradle
生成的文件以下:url
gradlew 和 gradlew.bat 分別是 Linux 和 Windows 下的可執行腳本,他們的用法是和Gradle原生命令是同樣的,Gradle怎麼用,他們就能夠怎麼用。spa
gradle-wrapper.jar是具體業務邏輯實現的jar包,gradlew最終仍是使用Java執行的這個jar包來執行相關呢的Gradle操做。code
Wrapper 配置引伸:blog
gradle wrapper --gradle-version : 用於指定使用的Gradle的版本。ip
gradle wrapper --gradle-distribution-url :用於指定下載Gradle發行版的url地址。開發
gradle-wrapper.properties 是 gradle wrapper 的配置文件,內容以下:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
下面是相關字段的說明:
在這些字段中,比較重要的字段就是distributionUrl,此字段是下載Gradle的路徑,決定了依賴的Gradle版本,若是運行./gradlew的時候一直卡的不動,多是網絡訪問不通。通常的解決思路爲:FQ or 更換其餘鏡像地址。