Android雜談:Gradle跨平臺編譯之Wrapper

小龍包.png

我們知道,每個人的電腦可能都不一樣。源代碼在我這臺機(jī)器可以編譯,說不定在你那臺就不能編譯。其中一個原因就有可能是彼此gradle版本不一樣導(dǎo)致的。gradle Wrapper就是為了克服不同電腦的差異性產(chǎn)生的。原理也很簡單,有一個目錄記錄編譯工程需要的gradle版本,在編譯前首先檢測電腦是否有安裝該版本的gradle,如果沒有的話,就會自動先從網(wǎng)上下載后再編譯。

要生成一個包含Wrapper的工程很簡單,只需要在命令行執(zhí)行一句就可以

 gradle wrapper

執(zhí)行后會在當(dāng)前目錄生成以下四個文件,gradlew.bat就是window下的腳本文件。運行這個腳本就會開始gradle編譯。

Paste_Image.png

編譯項目需要的gradle版本定義在gradle\wrapper\gradle-wrapper.properties文件里面,這個文件是自動生成的。修改gradle版本可以修改distributionUrl,編譯時如果沒有這個版本的gradle就會從這個url下載相應(yīng)的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?。。?!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容