【Android】【IDE】AndroidStudio使用本地Gradle最佳方案

Gradle相關配置

一個Android項目中,以AndroidStudio3.6爲例,和Gradle相關的配置大概有以下地方
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

各個選項和文件的作用

現在介紹下圖中選項和文件夾的作用,瞭解原理,大家才知道怎麼做,爲什麼這麼做

  • 1:指定Gradle倉庫的本地緩存位置,即下載的庫/Jar包等資源存放的位置。不同版本的Gradle主程序,不同版本的Gradle編譯插件,在倉庫中存放資源的位置都不同。所以大家如果修改了Gradle主程序/插件的版本號,就會重新下載資源,耗時非常長。如果導入別人的工程,和本地常用的Gradle版本號不一樣,也會重新下載,耗時很長
  • 2:使用本地Gradle,或使用工程配置文件中的Gradle,如果使用本地Gradle,需要設置Gradle主程序所在路徑,如果使用工程配置文件中的Gradle,則會去gradle/wrapper/gradle-wrapper.properties(3)中去查找Gradle版本和下載地址
  • 3:展開文件夾3,我們可以發現一個gradle-wrapper.properties文件,裏面配置了Gradle的版本和下載路徑。如果我們指定了使用工程配置的Gradle,但沒有找到這個文件夾,那麼編譯是會報錯的。這個文件夾裏面東西很簡單,可以手動修改,丟失的時候直接從其它工程拷過來即可
  • 4:build.gradle文件是整個工程的頂級Gradle配置文件,裏面配置了依賴倉庫的遠程地址,使用到的Gradle編譯插件,以及插件版本。由於Gradle主程序僅僅是一個獨立的程序包,我們要使用Gradle完成不同的任務,就需要使用不同的Gradle編譯插件,這些插件會調用Gradle命令來完成事先定義好的編譯任務
  • 5:這個文件夾是Gradle腳本編譯時生成的中間文件夾,可以刪除

傳統Gradle離線方案的不足之處

網上流傳的關於Gradle的離線方案一般有以下幾種

  • 通過選項1修改倉庫的本地緩存位置:這個操作允許Gradle先檢查本地緩存,如果本地存在,則不再去網絡上查詢。由於95%以上的用戶並不會去修改默認配置,緩存都放在默認位置,並沒有必要到其它位置去查找資源,因此這個功能對大多人並沒有用。
  • 修改倉庫本地緩存位置這種方案一般適合以下幾種情景:①以前改過倉庫默認位置,想要直接使用以前下載過的資源。②換電腦,從別的電腦上將本地倉庫直接拷過來。③機構禁網,統一使用本地倉庫。④由於殺毒軟件限制了C盤寫入,或頻繁監控文件讀寫,造成C盤無法寫入或寫入效率慢,需要將倉庫設置到其它位置。
  • 通過選項2使用本地的Gradle主程序:這個操作允許直接使用本地的Gradle主程序,節省了從網絡下載Gradle的時間。不過由於AndroidStudio設計上的不完善,這個功能的使用體驗不是很好。這個功能是屬於工程範圍內的配置選項,不是整個IDE的默認配置選項。如果我們新建一個新的工程,或者打開一個別人的工程時,AndroidStudio默認會使用gradle/wrapper/gradle-wrapper.properties中的配置,而且會立刻下載對應的Gradle包,無法取消,不會給我們選擇使用哪個Gradle的機會,就開始編譯了。顯然,大多人是希望所有工程都使用本地Gradle主程序,這個配置應該是對所有工程生效的,尤其是新工程,已經可以正常的運行的工程,很少有人會再去修改Gradle版本。再不濟,首次打開工程時,也應該給我們一個選擇的機會,而不是一進來就下載Gradle,無法取消,必須修改配置後強制重啓才能讓配置生效

統一使用本地Gradle最佳實踐

  • 不修改選項1和選項2,使用默認的倉庫緩存位置,使用每個工程自己指定的Gradle主程序
  • 下載一個最新的Gradle主程序,存儲到本地,供以後所有項目使用 官網下載地址 >> Gradle 6.2.1
  • 修改gradle-wrapper.properties配置,用我們本地的發佈包替換網絡發佈包,將Gradle主程序的版本號和地址替換成我們剛纔下載好的Zip包所在本地位置,以後就不會去網絡尋找Gradle主程序了,而是會使用本地包
  • 修改build.gradle腳本,修改Gradle編譯插件的版本號至最新,一般高版本的主程序對編譯插件的版本也有要求
  • 打開新工程之前,用舊項目中的gradle文件夾(3)和build.gradle文件(4)直接複製替換新工程中的文件,這樣新工程就會使用和之前一樣的Gradle主程序和編譯插件了,就不用再去下載。這樣不但節省了下載時間,而且還節省了磁盤存儲空間,Gradle的倉庫緩存用久了,體積是非常恐怖的
  • 記住,要先替換文件,再打開工程,因爲AndroidStudio一打開工程就會立刻編譯,編譯的時候再替換就會非常卡,而且要重啓才能生效。經常還會出現編譯中無法中止,軟件又無法立刻重啓的問題,非常麻煩
  • 新建工程時,我們可以找個舊工程複製一份,然後在setting.gradle裏將舊的模塊都移除,其它的Gradle等配置文件都保留,這樣就可以快速創建一個新工程。按照AndroidStudio的指引新建工程比較繁瑣,而且進去後也會出現自動下載編譯的情況,默認的模塊代碼可能也是多餘的,不如在舊工程上的基礎上直接修改來創建新工程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章