Android Studio 配置Gradle總結(jié)及問題避坑
一、 問題:
- 換個新電腦安裝完Android Studio第一次打開一個工程巨慢怎么辦?
- 手動配置
Gradle Home為什么總是無效? - 明明已經(jīng)下載了Gradle,配置了
Gradle home,為什么打開工程還是去自動下載Gradle?
二 簡介
(1) Android Studio 怎么知道該用哪個 Gradle 呢?
AS一個項目所用的Gradle是由我們的工程中下面這個文件決定的:{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 決定了這個項目使用的 gradle 版本,也就是說不同的項目可以使用不同的 gradle 版本,這也就是為什么修改Gradle Home失敗的原因。
那么我們怎么知道 gradle 有哪些版本呢?答案是下面這個鏈接:
Gradle下載地址:https://services.gradle.org/distributions/
所以只要對著上面的鏈接,修改后面的 gradle 版本就可以了.
(2) Gradle 保存在哪里?
Gradle 是大家共用的,當然不會把 Gradle 放在項目文件中(不是不可以),AS 將 gradle 保存在下面的目錄:
Linux : ~/.gradle/wrapper/dists
Windows :C:\users\{user name}\.gradle\wrapper\dists
如何查看自己電腦該文件地址:
如果是 Windows 打開 AS-Setting(Ctrl+Shift+S)找到 Gradle 即可查看路徑,如下圖:

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

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


(3) 下載gradle
從上面的Gradle下載地址,下載對應(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 是兩個獨立的東西,gradle 插件版本是由項目最外層的 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的配置
當我們在 Setting下 gradle 下設(shè)置 gradle 選擇 Use defalut gradle wrapper(recommended)
時,AS就會根據(jù) {project.dir}\gradle\wrapper\gradle-wrapper.properties文件中的配置 gradle

最后特別感謝本文作者細心整理,本文轉(zhuǎn)載自http://blog.csdn.net/fuchaosz/article/details/51567808
到此這篇關(guān)于Android Studio 配置Gradle總結(jié)及問題避坑的文章就介紹到這了,更多相關(guān)Android Studio 配置Gradle內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android中給fragment寫入?yún)?shù)的輕量開發(fā)包FragmentArgs簡介
這篇文章主要介紹了Android中給fragment寫入?yún)?shù)的輕量開發(fā)包FragmentArgs簡介,需要的朋友可以參考下2014-10-10
Flutter?Widget之NavigationBar使用詳解
這篇文章主要為大家介紹了Flutter?Widget之NavigationBar使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
Android顯式啟動與隱式啟動Activity的區(qū)別介紹
為什么要寫顯式啟動與隱式啟動Activity,Android的Acitivity啟動大致有兩種方式:顯式啟動與隱式啟動,下面分別介紹2014-09-09
Flutter開發(fā)之動態(tài)權(quán)限的使用
眾所周知,Android在6.0版本后將權(quán)限修改成了動態(tài)權(quán)限,而iOS則一直使用的是動態(tài)權(quán)限,所以在Flutter應(yīng)用開發(fā)中如果涉及到一些危險權(quán)限,就需要進行動態(tài)申請,本文就詳細的介紹一下,感興趣的可以了解一下2021-09-09

