Android Studio原生支持使用Gradle來構建項目,使用動態語言Groovy定義項目構建的過程,避免了build.xml文件繁瑣的定義。
然而使用的時候,卻有著巨大的缺陷。由于Android Studio在升級的時候,可能會伴隨著Gradle版本的升級,Gradle就會產生若干的版本。
為了保證程序不會因為Gradle版本不同導致問題,又產生了Gradle Wrapper,它的作用就是讓項目綁定一個Gradle版本,當我們導入項目時,會自動下載相應的Gradle版本。
問題來了
這就導致我們在打開其它項目的時候,如果當前電腦沒有該項目配置的Gradle版本就會下載相應的Gradle版本。但是Gradle的二進制包較大,又加上鏈接的是國外服務器,導致國內基本很難下載下來, 這時候后就會出現下面的情況。

你不知道到底是AS死了,還是它確實在后臺做些什么……要么就耐著性子等,要么就直接關掉AS,而且必須是強制關閉。這一點做的非常不友善。實際上,之所以卡在這,就是因為后臺在服務器下載Gradle包。而這個Gradle包往往有幾十兆,在網絡環境不太好的情況下,可能要下很久才能完成。顯然,我們沒有這么多時間在這耗著,需要找個辦法來解決了。
解決方式一
當你裝Android Studio和SDK時, 肯定至少會裝一個Gradle,這時可以通過新建項目的方式,查詢到Gradle版本。

本地Gradle版本路徑也要知道, 打開設置界面

還有幾個參數要記錄,這是和SDK匹配的,導入的項目中編譯SDK版本本機也要有。

記住這幾個參數,然后把要導入項目的參數改成和當前參數一致,就可以正常導入項目了。
來看看怎么修改:
- xxx-project/.idea/gradle.xml文件:
添加或修改<option name="gradleHome" value="前面的GradleHome參數" />
- xxx-project/gradle/wrapper/gradle-wrapper.properties文件:
distributionUrl=https/://services.gradle.org/distributions/gradle-前面的gradleVersion-all.zip
- xxx-project/build.gradle文件:
classpath ‘com.android.tools.build:gradle:前面Android Plugin Version‘ (這個是整個project的配置)
- xxx-project/app/build.gradle文件:
修改Compile SDK Version和Build Tools Version參數。(這個是單個module的配置,project中每個module都需要修改)
修改完了,就可以正常導入了。
如果電腦斷網,可以直接導入項目,但是項目不能正常運行,還是需要修改這些參數才能正常編譯。
解決方式二
上面最主要的問題就是Gradle版本下載不下來, 我們可以單獨下載指定的Gradle版本。
先可以查看項目依賴的gradle版本,
然后去找相應的版本進行下載,下載地址:https://pan.baidu.com/s/1hsgDmXQ
Windows默認把下載的文件放到C:/Users/xxx/.gradle/wrapper/dists目錄下
mac默認在/Users/apple/.gradle/wrapper/dists/
每個版本zip包都放到相應版本路徑下,如:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答