gradle的重要概念:
1.gradle 安裝的位置
1.用戶目錄下 .gradle
用戶目錄下wrapper/dist 下有已經下載的gradle版本; 如果gradle下載慢可以自己下載,然後把zip考進對應的隨機文件夾內(注意時隨機文件夾,這個系統生成不能改,例如我的是gradle-4.6-all\bcst21l2brirad8k2ben1letg)
2.每個項目目錄下有gradle
1.項目下的.gradle 和.idea是二進制中間文件,一般我們不必去看;
2.gradle文件夾下,有:
gradle-wrapper.properties 裏面記錄着本項目是用哪個版本的gradle構建的;該地址是gradle下載地址,本地如果沒有就會去該地址下載;
gradlew和gradlew.bat是執行腳本,分別對應 linux/mac 和 windows的
gradlew.bat中腳本,調用gradle-wrapper.properties裏的GradleWrapperMain.class 來檢測gradle是否安裝,如果未安裝,就去官網下......
2.Groovy 語言的特點:
1.所有頂級表達式的括號可以省略;
2.當閉包是一個頂級表達式的最後一個參數時,可以省略括號;(例如:compileSdkVersion 26原本是 compileSdkVersion (26))
3.但是函數嵌套調用已有函數沒有參數時不能省略;
3.build.gradle腳本講解:
1.項目總目錄下的build.gradle:
2.moudle 下面的buid.gradle:
4.settings.gradle講解:
用來配置項目包含哪些moudle
一般情況下是這樣的:
我們可以在裏面寫代碼:
吆西,gradle不只是一個改參數的配置工具,他是可以寫代碼的!!! 只要帶.gradle的文件,都可以寫groovy代碼 。
gradle編譯慢的問題:
1.gradle下載慢:
原因:是執行gradlew.bat時調用gradle-wrapper.jar中的gradleWrapperMain.class ,他會檢測 gradle-wrapper.properties 裏的distributionUrl對應的gradle版本在本地是否存在,如果不存在就會去這個url裏下載;
解決辦法:1.可以自己手動下載對應版本的gradle,然後放到本地c盤用戶目錄下的.gradle/dist/下對應gradle文件夾下的隨機文件夾中,手動下載比較快
2.修改gradle-wrapper.properties 裏的distributionUrl,把gradle-3.3-all.zip改成 gradle-3.3-bin.zip (bin比all小很多,幾十兆)
2.依賴包下載慢:
原因:gradle倉庫是國外的,有些連接很慢;
解決辦法:1.添加國內的倉庫到allprojects閉包下的repositories中(比如阿里雲倉庫),放到第一個倉庫的位置,這樣可以優先查找;
3.每次編譯都很慢:
儘量不要使用使用帶有+號的依賴,因爲這樣的依賴會隔一段時間去服務器檢測一下是否有新的版本
4.終極解決辦法:
將jar,aar都考到本地,或者可以自己建一個倉庫;
關於gradle的乾貨介紹到這裏。。。。。