gradlew和gradle的區別


概念理解

gradlew就是對gradle的包裝和配置,gradlew是gradle Wrapper,Wrapper的意思就是包裝。

因為不是每個人的電腦中都安裝了gradle,也不一定安裝的版本是要編譯項目需要的版本,那么gradlew里面就配置要需要的gradle版本。

然后用戶只需要運行gradlew就可以按照配置下載對應的gradle到項目的目錄中,僅僅給項目本身用,然后就是clean、build等操作。

但是如果執行gradle clean 這樣的命令的話,系統使用的是電腦環境變量中配置的gradle,或者是找不到命令。

此時我們就用gradlew clean這個命令,其實內部調用的是本項目中的gradle來執行的,所以就相當於進行了一次包裝。

關於每次gradlew都去下載gradle問題

方法1:可以使用gradle命令打包而不是gradlew

配置gradle到環境變量;工程中使用自己配置變量的gradle即可。

先找到gralde的根目錄,在系統變量里添加兩個環境變量:

變量名為:GRADLE_HOME,變量值就為gradle的根目錄; 比如變量值為:D:androidandroid-studio\studiogradlegradle-2.10

還有一個在系統變量里PATH里面添加gradle的bin目錄;比如:D:androidandroid-studio\studiogradlegradle-2.10\bin

這樣就配置完了,執行以下這個命令:gradle assembleRelease,看看是不是可以了。

方法2:還是使用gradlew,每次都下載gradle

執行./gradlew 命令后發現顯示: Downloading https://services.gradle.org/distributions/gradle-2.14.1-all.zip

說明就開始聯網開始下載gradle了,但是無網絡的情況下或者在內網情況下根本無法下載,這個時候怎么辦?

接下來就是解決這個問題:

如果之前下載過gradle,那么,

對於linux,會在:/home/root/.gradle/wrapper/dists/gradle-2.14.1-all目錄下看到很多雜亂的字符串命名的文件夾,打開文件夾就可以找到gradle-2.14.1-all.zip壓縮包。

對於windows,會在:C:\Users\Adminstrator\.gradle\wrapper\dists\gradle-2.14.1-all目錄下看到很多雜亂的字符串命名的文件夾,打開文件夾就可以找到gradle-2.14.1-all.zip壓縮包。

當然也可以外網下下載好gradle-2.14.1-all.zip后放入內網電腦。

不管用上面哪一種方法,把上面得到的gradle-2.14.1.zip壓縮包拷貝到項目的gradle/wrapper目錄下。

然后把項目里gradle/wrapper/gradle-wrapper.propertis文件的distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip改為distributionUrl=gradle-2.14.1-all.zip

做完上面的步驟,然后在項目目錄下執行./gradlew等一系列命令就不會去聯網下載gradle了

當然,也可以改成自己的私服地址,如:distributionUrl=https\://192.168.1.1:8081/artifactory/dev/gradle-2.14.1-all.zip

 

https://docs.gradle.org/current/userguide/gradle_wrapper.html

https://www.zybuluo.com/xtccc/note/275168


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM