Android Studio導(dǎo)入項(xiàng)目非常慢的解決方法
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)致我們?cè)诖蜷_其它項(xiàng)目的時(shí)候,如果當(dāng)前電腦沒有該項(xiàng)目配置的Gradle版本就會(huì)下載相應(yīng)的Gradle版本。但是Gradle的二進(jìn)制包較大,又加上鏈接的是國(guó)外服務(wù)器,導(dǎo)致國(guó)內(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/1hsgDmXQ
Windows默認(rèn)把下載的文件放到C:\Users\xxx\.gradle\wrapper\dists目錄下
mac默認(rèn)在/Users/apple/.gradle/wrapper/dists/
每個(gè)版本zip包都放到相應(yīng)版本路徑下,如:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android aapt自動(dòng)打包工具詳細(xì)介紹
這篇文章主要介紹了Android aapt自動(dòng)打包工具詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-12-12android開發(fā)教程之卸載sd卡對(duì)MediaServer的處理
Android中如果MediaServer訪問SD卡上的音頻文件,卸載SD卡的時(shí)候,就會(huì)kill掉MediaServer,卸載SD卡上必要條件就是沒有進(jìn)程訪問SD卡上的資源文件。Kill掉MediaServer的進(jìn)程后,MediaServer會(huì)重新啟動(dòng)。2014-02-02Android 中不用線程如何實(shí)現(xiàn)倒計(jì)時(shí)
本文給大家分享android中不用線程如何實(shí)現(xiàn)倒計(jì)時(shí)功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-01-01Android MQTT與WebSocket協(xié)議詳細(xì)講解
MQTT(消息隊(duì)列遙測(cè)傳輸)是ISO 標(biāo)準(zhǔn)(ISO/IEC PRF 20922)下基于發(fā)布/訂閱范式的消息協(xié)議。它工作在TCP/IP協(xié)議族上,是為硬件性能低下的遠(yuǎn)程設(shè)備以及網(wǎng)絡(luò)狀況糟糕的情況下而設(shè)計(jì)的發(fā)布/訂閱型消息協(xié)議2022-11-11Android studio 項(xiàng)目手動(dòng)在本地磁盤中刪除module后,殘留文件夾無法刪除的問題解決方法
這篇文章主要介紹了Android studio 項(xiàng)目手動(dòng)在本地磁盤中刪除module后,殘留文件夾無法刪除問題,本文給出了解決方法,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03android編程獲取和設(shè)置系統(tǒng)鈴聲和音量大小的方法
這篇文章主要介紹了android編程獲取和設(shè)置系統(tǒng)鈴聲和音量大小的方法,實(shí)例分析了Android針對(duì)音頻的相關(guān)操作技巧,需要的朋友可以參考下2017-06-06Android10填坑適配指南(實(shí)際經(jīng)驗(yàn)代碼)
這篇文章主要介紹了Android10填坑適配指南(實(shí)際經(jīng)驗(yàn)代碼),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Android自定義view實(shí)現(xiàn)滑動(dòng)解鎖九宮格控件
這篇文章主要介紹了Android自定義view實(shí)現(xiàn)滑動(dòng)解鎖九宮格控件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-02-02Android Activity 完全結(jié)束并退出程序的實(shí)例
2013-11-11