小龍包.png
我們知道柒傻,每個人的電腦可能都不一樣。源代碼在我這臺機器可以編譯较木,說不定在你那臺就不能編譯红符。其中一個原因就有可能是彼此gradle版本不一樣導致的。gradle Wrapper就是為了克服不同電腦的差異性產(chǎn)生的伐债。原理也很簡單预侯,有一個目錄記錄編譯工程需要的gradle版本,在編譯前首先檢測電腦是否有安裝該版本的gradle峰锁,如果沒有的話萎馅,就會自動先從網(wǎng)上下載后再編譯。
要生成一個包含Wrapper的工程很簡單虹蒋,只需要在命令行執(zhí)行一句就可以
gradle wrapper
執(zhí)行后會在當前目錄生成以下四個文件糜芳,gradlew.bat就是window下的腳本文件。運行這個腳本就會開始gradle編譯千诬。
Paste_Image.png
編譯項目需要的gradle版本定義在gradle\wrapper\gradle-wrapper.properties文件里面,這個文件是自動生成的耍目。修改gradle版本可以修改distributionUrl膏斤,編譯時如果沒有這個版本的gradle就會從這個url下載相應的gradle版本徐绑。
#Tue Mar 14 20:05:20 CST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-rc-2-bin.zip
url.png
我們來實踐一下,把distributionUrl的gradle版本號修改成下面這樣莫辨。
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-rc-1-bin.zip
然后再搞個build.gradle來編譯一番,跑一個task
task hello {
doLast {
println 'Hello, World!'
}
}
在命令行輸入gradlew task開始編譯傲茄,會首先先下載gradle版本。下載的Gradle發(fā)行版被存放在目錄 $USER_HOME/.gradle/wrapper/dists 中
下載版本.png
然后編譯task
Paste_Image.png
OK>诎瘛E陶ァ!蟆融!