Android Studio導(dǎo)入項目非常慢的解決方法
Android Studio原生支持使用Gradle來構(gòu)建項目,使用動態(tài)語言Groovy定義項目構(gòu)建的過程,避免了build.xml文件繁瑣的定義。
然而使用的時候,卻有著巨大的缺陷。由于Android Studio在升級的時候,可能會伴隨著Gradle版本的升級,Gradle就會產(chǎn)生若干的版本。
為了保證程序不會因為Gradle版本不同導(dǎo)致問題,又產(chǎn)生了Gradle Wrapper,它的作用就是讓項目綁定一個Gradle版本,當(dāng)我們導(dǎo)入項目時,會自動下載相應(yīng)的Gradle版本。
問題來了
這就導(dǎo)致我們在打開其它項目的時候,如果當(dāng)前電腦沒有該項目配置的Gradle版本就會下載相應(yīng)的Gradle版本。但是Gradle的二進(jìn)制包較大,又加上鏈接的是國外服務(wù)器,導(dǎo)致國內(nèi)基本很難下載下來, 這時候后就會出現(xiàn)下面的情況。
你不知道到底是AS死了,還是它確實(shí)在后臺做些什么……要么就耐著性子等,要么就直接關(guān)掉AS,而且必須是強(qiáng)制關(guān)閉。這一點(diǎn)做的非常不友善。實(shí)際上,之所以卡在這,就是因為后臺在服務(wù)器下載Gradle包。而這個Gradle包往往有幾十兆,在網(wǎng)絡(luò)環(huán)境不太好的情況下,可能要下很久才能完成。顯然,我們沒有這么多時間在這耗著,需要找個辦法來解決了。
解決方式一
當(dāng)你裝Android Studio和SDK時, 肯定至少會裝一個Gradle,這時可以通過新建項目的方式,查詢到Gradle版本。
本地Gradle版本路徑也要知道, 打開設(shè)置界面
還有幾個參數(shù)要記錄,這是和SDK匹配的,導(dǎo)入的項目中編譯SDK版本本機(jī)也要有。
記住這幾個參數(shù),然后把要導(dǎo)入項目的參數(shù)改成和當(dāng)前參數(shù)一致,就可以正常導(dǎo)入項目了。
來看看怎么修改:
- 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‘ (這個是整個project的配置)
- xxx-project/app/build.gradle文件:
修改Compile SDK Version和Build Tools Version參數(shù)。(這個是單個module的配置,project中每個module都需要修改)
修改完了,就可以正常導(dǎo)入了。
如果電腦斷網(wǎng),可以直接導(dǎo)入項目,但是項目不能正常運(yùn)行,還是需要修改這些參數(shù)才能正常編譯。
解決方式二
上面最主要的問題就是Gradle版本下載不下來, 我們可以單獨(dú)下載指定的Gradle版本。
先可以查看項目依賴的gradle版本,
然后去找相應(yīng)的版本進(jìn)行下載,下載地址:https://pan.baidu.com/s/1hsgDmXQ
Windows默認(rèn)把下載的文件放到C:\Users\xxx\.gradle\wrapper\dists目錄下
mac默認(rèn)在/Users/apple/.gradle/wrapper/dists/
每個版本zip包都放到相應(yīng)版本路徑下,如:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
android開發(fā)教程之卸載sd卡對MediaServer的處理
Android中如果MediaServer訪問SD卡上的音頻文件,卸載SD卡的時候,就會kill掉MediaServer,卸載SD卡上必要條件就是沒有進(jìn)程訪問SD卡上的資源文件。Kill掉MediaServer的進(jìn)程后,MediaServer會重新啟動。2014-02-02Android 中不用線程如何實(shí)現(xiàn)倒計時
本文給大家分享android中不用線程如何實(shí)現(xiàn)倒計時功能,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-01-01Android MQTT與WebSocket協(xié)議詳細(xì)講解
MQTT(消息隊列遙測傳輸)是ISO 標(biāo)準(zhǔn)(ISO/IEC PRF 20922)下基于發(fā)布/訂閱范式的消息協(xié)議。它工作在TCP/IP協(xié)議族上,是為硬件性能低下的遠(yuǎn)程設(shè)備以及網(wǎng)絡(luò)狀況糟糕的情況下而設(shè)計的發(fā)布/訂閱型消息協(xié)議2022-11-11Android studio 項目手動在本地磁盤中刪除module后,殘留文件夾無法刪除的問題解決方法
這篇文章主要介紹了Android studio 項目手動在本地磁盤中刪除module后,殘留文件夾無法刪除問題,本文給出了解決方法,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03android編程獲取和設(shè)置系統(tǒng)鈴聲和音量大小的方法
這篇文章主要介紹了android編程獲取和設(shè)置系統(tǒng)鈴聲和音量大小的方法,實(shí)例分析了Android針對音頻的相關(guān)操作技巧,需要的朋友可以參考下2017-06-06Android10填坑適配指南(實(shí)際經(jīng)驗代碼)
這篇文章主要介紹了Android10填坑適配指南(實(shí)際經(jīng)驗代碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Android自定義view實(shí)現(xiàn)滑動解鎖九宮格控件
這篇文章主要介紹了Android自定義view實(shí)現(xiàn)滑動解鎖九宮格控件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-02-02Android Activity 完全結(jié)束并退出程序的實(shí)例
2013-11-11