Android Studio比Eclipse ADT有巨大的優(yōu)勢。
Android Studio原生支持使用Gradle來構(gòu)建項(xiàng)目,使用動(dòng)態(tài)語言Groovy定義項(xiàng)目構(gòu)建的過程,避免了build.xml文件繁瑣的定義。
然而使用的時(shí)候割笙,卻有著巨大的缺陷。由于Android Studio在升級(jí)的時(shí)候,可能會(huì)伴隨著Gradle版本的升級(jí)条篷,Gradle就會(huì)產(chǎn)生若干的版本骗随。
為了保證程序不會(huì)因?yàn)镚radle版本不同導(dǎo)致問題,又產(chǎn)生了Gradle Wrapper,它的作用就是讓項(xiàng)目綁定一個(gè)Gradle版本赴叹,當(dāng)我們導(dǎo)入項(xiàng)目時(shí)鸿染,會(huì)自動(dòng)下載相應(yīng)的Gradle版本。
然乞巧,并涨椒,卵。 問題來了
這就導(dǎo)致我們在打開其它項(xiàng)目的時(shí)候绽媒,如果當(dāng)前電腦沒有該項(xiàng)目配置的Gradle版本就會(huì)下載相應(yīng)的Gradle版本蚕冬。但是Gradle的二進(jìn)制包較大,又加上鏈接的是國外服務(wù)器是辕,導(dǎo)致國內(nèi)基本很難下載下來囤热, 這時(shí)候后就會(huì)出現(xiàn)下面的情況。
你不知道到底是AS死了获三,還是它確實(shí)在后臺(tái)做些什么……要么就耐著性子等旁蔼,要么就直接關(guān)掉AS,而且必須是強(qiáng)制關(guān)閉疙教。這一點(diǎn)做的非常不友善棺聊。實(shí)際上,之所以卡在這松逊,就是因?yàn)楹笈_(tái)在服務(wù)器下載Gradle包躺屁。而這個(gè)Gradle包往往有幾十兆,在網(wǎng)絡(luò)環(huán)境不太好的情況下经宏,可能要下很久才能完成犀暑。顯然,我們沒有這么多時(shí)間在這耗著烁兰,需要找個(gè)辦法來解決了耐亏。
解決方式一
當(dāng)你裝Android Studio和SDK時(shí), 肯定至少會(huì)裝一個(gè)Gradle,這時(shí)可以通過新建項(xiàng)目的方式,查詢到Gradle版本沪斟。
本地Gradle版本路徑也要知道, 打開設(shè)置界面
還有幾個(gè)參數(shù)要記錄广辰,這是和SDK匹配的,導(dǎo)入的項(xiàng)目中編譯SDK版本本機(jī)也要有主之。
記住這幾個(gè)參數(shù),然后把要導(dǎo)入項(xiàng)目的參數(shù)改成和當(dāng)前參數(shù)一致,就可以正常導(dǎo)入項(xiàng)目了择吊。
來看看怎么修改:
- xxx-project/.idea/gradle.xml文件:
添加或修改<option name="gradleHome" value="前面的GradleHome參數(shù)" />
- 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‘ (這個(gè)是整個(gè)project的配置)
- xxx-project/app/build.gradle文件:
修改Compile SDK Version和Build Tools Version參數(shù)。(這個(gè)是單個(gè)module的配置槽奕,project中每個(gè)module都需要修改)
修改完了几睛,就可以正常導(dǎo)入了。
如果電腦斷網(wǎng)粤攒,可以直接導(dǎo)入項(xiàng)目所森,但是項(xiàng)目不能正常運(yùn)行囱持,還是需要修改這些參數(shù)才能正常編譯。
解決方式二
上面最主要的問題就是Gradle版本下載不下來焕济, 我們可以單獨(dú)下載指定的Gradle版本纷妆。
先可以查看項(xiàng)目依賴的gradle版本,
然后去找相應(yīng)的版本進(jìn)行下載晴弃。
https://pan.baidu.com/s/1pLEkm4F#path=%252F
Windows默認(rèn)把下載的文件放到C:\Users\xxx\.gradle\wrapper\dists目錄下
mac默認(rèn)在/Users/apple/.gradle/wrapper/dists/
每個(gè)版本zip包都放到相應(yīng)版本路徑下,如: