Android Studio 配置Gradle總結(jié)及問題避坑
一、 問題:
- 換個(gè)新電腦安裝完Android Studio第一次打開一個(gè)工程巨慢怎么辦?
- 手動(dòng)配置
Gradle Home為什么總是無效? - 明明已經(jīng)下載了Gradle,配置了
Gradle home,為什么打開工程還是去自動(dòng)下載Gradle?
二 簡(jiǎn)介
(1) Android Studio 怎么知道該用哪個(gè) Gradle 呢?
AS一個(gè)項(xiàng)目所用的Gradle是由我們的工程中下面這個(gè)文件決定的:{your project}/gradle/wrapper/gradle-wrapper.properties
文件內(nèi)容如下:
#Thu May 11 16:43:55 CST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

上圖最后一行的 distributionUrl 決定了這個(gè)項(xiàng)目使用的 gradle 版本,也就是說不同的項(xiàng)目可以使用不同的 gradle 版本,這也就是為什么修改Gradle Home失敗的原因。
那么我們?cè)趺粗?gradle 有哪些版本呢?答案是下面這個(gè)鏈接:
Gradle下載地址:https://services.gradle.org/distributions/
所以只要對(duì)著上面的鏈接,修改后面的 gradle 版本就可以了.
(2) Gradle 保存在哪里?
Gradle 是大家共用的,當(dāng)然不會(huì)把 Gradle 放在項(xiàng)目文件中(不是不可以),AS 將 gradle 保存在下面的目錄:
Linux : ~/.gradle/wrapper/dists
Windows :C:\users\{user name}\.gradle\wrapper\dists
如何查看自己電腦該文件地址:
如果是 Windows 打開 AS-Setting(Ctrl+Shift+S)找到 Gradle 即可查看路徑,如下圖:

根據(jù)這個(gè)路徑去本地查找文件:

Android Studio打開一個(gè)工程時(shí),首先會(huì)讀取gradle-wrapper.properties 文件,從而知道這個(gè)工程需要哪個(gè)版本的gradle ,然后就會(huì)去保存 gradle 的文件夾 GRADLE_USER_HOME 去找 , 看是否存在該版本的 gradle,若不存在則會(huì)根據(jù) distributionUrl 進(jìn)行下載。
搞清楚了這個(gè)流程,現(xiàn)在是不是明白了,為什么第一次打開一個(gè)工程會(huì)巨慢了吧,因?yàn)?AS 會(huì)去下載 gradle。
為什么我明明已經(jīng)下載了 gradle,也指定了 gradle 的存放目錄,可打開的時(shí)候還是會(huì)去自動(dòng)下載 gradle 了?
那是因?yàn)槟銢]有配對(duì)地方?,F(xiàn)在回過來看項(xiàng)目配置文件 是不是gradle/wrapper/gradle-wrapper.properties 是不是恍然大悟?
三、配置方法
既然搞清楚了原理,也知道打開慢的原因是卡在下載 gradle 這一步,那么我們就自己下載 gradle,然后配置上去
(1) 修改gradle-wrapper.properties
修改gradle-wrapper.properties 中的 distributionUrl,改成我們想要的版本,只改后面的版本就可以了,前面的部分不要改。具體版本看下面鏈接:
Gradle下載地址:https://services.gradle.org/distributions/
(2) 打開項(xiàng)目
這個(gè)時(shí)候AS將自動(dòng)下載gradle,并創(chuàng)建好目錄。這時(shí)直接干掉Android Studio并退出,因?yàn)檫@一步是為了得到AS自動(dòng)創(chuàng)建的下載目錄,定位到下面的目錄:
Linux: ~/.gradle/wrapper/dists
windows: C:\users\{user name}\.gradle\wrapper\dists
進(jìn)入對(duì)應(yīng)的gradle版本文件夾下,會(huì)發(fā)現(xiàn)有一個(gè)一串亂碼的文件夾,本例以gradle3.5為例,如下圖:


(3) 下載gradle
從上面的Gradle下載地址,下載對(duì)應(yīng)版本的gradle,本例中為gradle-3.5-all.zip,然后刪除上圖中的gradle-3.5-all.zip.part文件,將下載的gradle-3.5-all.zip復(fù)制到上圖中一串亂碼的文件夾下,注意不要解壓。這樣我們就跳過了下載gradle這一步。
(4) 重新開啟Android Studio,打開工程,ok,一下子就打開了.
四 、Gradle 插件版本
gradle 插件 和 gradle 是兩個(gè)獨(dú)立的東西,gradle 插件版本是由項(xiàng)目最外層的 build.gradle文件決定的
app/build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}修改 gradle 插件版本之后,sync 一下代碼就可以了。
gradle和(android gradle插件)一定不能混為一談,二者是有區(qū)別的。android gradle 插件依賴于 gradle。
1.gradle的配置
當(dāng)我們?cè)?Setting下 gradle 下設(shè)置 gradle 選擇 Use defalut gradle wrapper(recommended)
時(shí),AS就會(huì)根據(jù) {project.dir}\gradle\wrapper\gradle-wrapper.properties文件中的配置 gradle

最后特別感謝本文作者細(xì)心整理,本文轉(zhuǎn)載自http://blog.csdn.net/fuchaosz/article/details/51567808
到此這篇關(guān)于Android Studio 配置Gradle總結(jié)及問題避坑的文章就介紹到這了,更多相關(guān)Android Studio 配置Gradle內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Android Studio4.0解決Gradle下載超時(shí)問題
- Android Studio新建工程默認(rèn)在build.gradle中加入maven阿里源的問題
- 解決Android Studio Gradle Metadata特別慢的問題
- android studio更新gradle錯(cuò)誤構(gòu)建項(xiàng)目失敗的解決方法
- Android Studio和Gradle使用不同位置JDK的問題解決
- AndroidStudio3.6的卸載安裝,Gradle持續(xù)下載/Gradle Build失敗等問題
- 解決Android studio3.6安裝后gradle Download失敗(構(gòu)建不成功)
相關(guān)文章
Android中給fragment寫入?yún)?shù)的輕量開發(fā)包FragmentArgs簡(jiǎn)介
這篇文章主要介紹了Android中給fragment寫入?yún)?shù)的輕量開發(fā)包FragmentArgs簡(jiǎn)介,需要的朋友可以參考下2014-10-10
Flutter?Widget之NavigationBar使用詳解
這篇文章主要為大家介紹了Flutter?Widget之NavigationBar使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
Android點(diǎn)擊事件派發(fā)機(jī)制源碼分析
這篇文章主要為大家詳細(xì)介紹了Android點(diǎn)擊事件派發(fā)機(jī)制源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
Android實(shí)現(xiàn)支付寶螞蟻森林水滴浮動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)支付寶螞蟻森林水滴浮動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Android顯式啟動(dòng)與隱式啟動(dòng)Activity的區(qū)別介紹
為什么要寫顯式啟動(dòng)與隱式啟動(dòng)Activity,Android的Acitivity啟動(dòng)大致有兩種方式:顯式啟動(dòng)與隱式啟動(dòng),下面分別介紹2014-09-09
android實(shí)現(xiàn)貝塞爾曲線之波浪效果
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)貝塞爾曲線之波浪效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
Android檢測(cè)Cursor泄漏的原理以及使用方法
本文介紹如何在 Android 檢測(cè) Cursor 泄漏的原理以及使用方法,還指出幾種常見的出錯(cuò)示例,同時(shí)該方法同樣適合于其他需要檢測(cè)資源泄露的情況,感興趣的朋友可以了解下2013-01-01
Flutter開發(fā)之動(dòng)態(tài)權(quán)限的使用
眾所周知,Android在6.0版本后將權(quán)限修改成了動(dòng)態(tài)權(quán)限,而iOS則一直使用的是動(dòng)態(tài)權(quán)限,所以在Flutter應(yīng)用開發(fā)中如果涉及到一些危險(xiǎn)權(quán)限,就需要進(jìn)行動(dòng)態(tài)申請(qǐng),本文就詳細(xì)的介紹一下,感興趣的可以了解一下2021-09-09

