解決Android Studio導(dǎo)入項(xiàng)目非常慢的辦法
前言
大家都知道Android Studio目前已經(jīng)更新到2.0 Preview 6了,作為Google大力推崇的開(kāi)發(fā)工具,相對(duì)于Eclipse ADT有著不可比擬的優(yōu)勢(shì)。然而在實(shí)際使用時(shí),依然有不少不爽的地方。Android Studio原生支持使用Gradle來(lái)構(gòu)建項(xiàng)目本是個(gè)不錯(cuò)的想法,使用動(dòng)態(tài)語(yǔ)言Groovy定義項(xiàng)目構(gòu)建過(guò)程,避免了build.xml文件的繁瑣定義。但是Gradle的二進(jìn)制包體積較大,而且用戶可能按照了不同的Gradle版本,構(gòu)建時(shí)可能會(huì)出現(xiàn)各種問(wèn)題。因此又提出了Gradle Wrapper這么個(gè)東西,用于解決前面出現(xiàn)的問(wèn)題。Gradle Wrapper會(huì)綁定到一個(gè)指定的Gradle版本。當(dāng)用戶導(dǎo)入項(xiàng)目工程時(shí),會(huì)自動(dòng)到遠(yuǎn)程服務(wù)器上下載Gradle包。這樣解決了客戶端版本不一致的問(wèn)題,但是也帶來(lái)了一個(gè)新的問(wèn)題:國(guó)內(nèi)連接到遠(yuǎn)程服務(wù)器下載Gradle包的速度非常慢!所以,每當(dāng)將新項(xiàng)目導(dǎo)入到Android Studio時(shí),都會(huì)卡在這個(gè)界面:
你不知道到底是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)境不太好的情況下,可能要下很久才能完成。顯然,我們沒(méi)有這么多時(shí)間在這耗著,需要找個(gè)辦法來(lái)解決了。
解決方法
在網(wǎng)絡(luò)上搜羅了一番,通常的做法是修改Gradle Wrapper配置文件中的Gradle版本,但是都不太完整。最后在這里看到了完整點(diǎn)的解決方法。精簡(jiǎn)下主要如下幾個(gè)步驟:
1、先獲取本機(jī)相關(guān)參數(shù),包含如下幾個(gè)(括號(hào)中是我本人機(jī)器的參數(shù)):
Android Plugin Version:(1.5.0)
Gradle Version:(2.8)
Compile SDK Version:(23)
Build Tools Version:(23.0.2)
GradleHome:(/Applications/Android Studio.app/Contents/gradle/gradle-2.8)
獲取方法很簡(jiǎn)單,在Android Studio里面新建一個(gè)工程,單擊工程名右鍵選擇“Open Module Settings”彈出對(duì)話框中可以看到:
2. 參數(shù)準(zhǔn)備好了,即可開(kāi)始修改目標(biāo)項(xiàng)目的參數(shù)。需要修改的參數(shù)位于哪些文件呢?
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/build.gradle文件:修改Compile SDK Version
和Build Tools Version
參數(shù)。(這個(gè)是單個(gè)module的配置,project中每個(gè)module都需要修改)
3. 參數(shù)修改完成,開(kāi)始正式導(dǎo)入項(xiàng)目。一般情況下,這時(shí)候可以很順利的就導(dǎo)入到Android Studio中來(lái)了。如果仍然卡在導(dǎo)入界面,那么只能乖乖的等了……
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望對(duì)大家使用Android Studio的時(shí)候帶來(lái)一定的幫助,如果有問(wèn)題大家可以留言交流。
相關(guān)文章
Android BroadcastReceiver傳輸機(jī)制詳解
Android開(kāi)發(fā)的四大組件分別是:活動(dòng)(activity),用于表現(xiàn)功能;服務(wù)(service),后臺(tái)運(yùn)行服務(wù),不提供界面呈現(xiàn);廣播接受者(Broadcast Receive),勇于接收廣播;內(nèi)容提供者(Content Provider),支持多個(gè)應(yīng)用中存儲(chǔ)和讀取數(shù)據(jù),相當(dāng)于數(shù)據(jù)庫(kù),本篇著重介紹廣播組件2023-01-01Android實(shí)現(xiàn)登陸界面的記住密碼功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)登陸界面的記住密碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04Android定時(shí)器和Handler用法實(shí)例分析
這篇文章主要介紹了Android定時(shí)器和Handler用法,實(shí)例分析了Android中的定時(shí)器與Handler相關(guān)使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04Android MonoRepo多倉(cāng)和單倉(cāng)的差別理論
這篇文章主要為大家介紹了Android MonoRepo多倉(cāng)和單倉(cāng)的差別理論,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Android fragment 轉(zhuǎn)場(chǎng)動(dòng)畫創(chuàng)建步驟
在 Android 中,可以使用 setCustomAnimations() 方法來(lái)繪制自定義的 Fragment 轉(zhuǎn)場(chǎng)動(dòng)畫,本文分步驟給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-03-03Android 6.0動(dòng)態(tài)權(quán)限申請(qǐng)教程
本文主要介紹了Android 6.0動(dòng)態(tài)權(quán)限申請(qǐng)的教程,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03Retrofit自定義請(qǐng)求參數(shù)注解的實(shí)現(xiàn)思路
這篇文章主要給大家介紹了Retrofit自定義請(qǐng)求參數(shù)注解的實(shí)現(xiàn)思路,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12Android實(shí)現(xiàn)拍照、選擇圖片并裁剪圖片功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)拍照、選擇圖片并裁剪圖片功能的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05