Android Studio 配置Gradle

一, 問題:
①換個新電腦安裝完Android Sutdio第一次打開一個工程巨慢怎麼辦?
② 手動配置Gradle Home爲何老是無效?
③ 明明已經下載了Gradle,配置了gradle home,爲何打開工程仍是去自動下載Gradle?android

二 簡介
(1) Android Studio怎麼知道該用哪一個Gradle呢?
AS一個項目所用的Gradle是由咱們的工程中下面這個文件決定的:
{your project}/gradle/wrapper/gradle-wrapper.properties
文件內容以下:windows

#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.zipapp

 

最後一排的distributionUrl 決定了這個項目使用的gradle版本,也就是說不一樣的項目可使用不一樣的gradle版本,這也就是爲何修改Gradle Home失敗的緣由。
那麼咱們怎麼知道gradle有哪些版本呢?答案是下面這個連接:gradle

Gradle下載地址:https://services.gradle.org/distributions/ui

因此只要對着上面的連接,修改後面的gradle版本就能夠了.spa

(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便可查看路徑,以下圖:插件

根據這個路徑去本地查找文件:blog


Android Studio打開一個工程時,首先會讀取gradle-wrapper.properties 文件,從而知道這個工程須要哪一個版本的gradle ,而後就會去保存gradle的文件夾GRADLE_USER_HOME 去找看存不存在這個版本的gradle,不存在則會去distributionUrl 去下載
搞清楚了這個流程,如今是否是明白了,爲何第一次打開一個工程會巨慢了吧,由於AS會去下載gradle。爲何我明明下載了gradle,也指定了gradle的存放目錄,可打開的時候仍是會去自動下載gradle了,那是由於你沒有配對地方。如今回過來看項目配置文件是否是gradle/wrapper/gradle-wrapper.properties 是否是恍然大悟?ip

三,配置方法
既然搞清楚了原理,也知道打開慢的緣由是卡在下載gradle這一步,那麼咱們就本身下載gralde,而後配置上去
(1) 修改gradle-wrapper.properties
修改gradle-wrapper.properties 中的 distributionUrl,改爲咱們想要的版本,只改後面的版本就能夠了,前面的部分不要改。具體版本看下面連接:ci

Gradle下載地址:https://services.gradle.org/distributions/

(2) 打開項目
這個時候AS將自動下載gradle,並建立好目錄。這時直接幹掉Android Studio並退出,由於這一步是爲了獲得AS自動建立的下載目錄,定位到下面的目錄:
Linux:

~/.gradle/wrapper/dists
windows:

C:\users{user name}.gradle\wrapper\dists
進入對應的gradle版本文件夾下,會發現有一個一串亂碼的文件夾,本例以gradle3.5爲例,以下圖:

 


(2) 下載gradle
從上面的Gradle下載地址,下載對應版本的gradle,本例中爲gradle-3.5-all.zip,而後刪除上圖中的gradle-3.5-all.zip.part文件,將下載的gradle-3.5-all.zip複製到上圖中一串亂碼的文件夾下,注意不要解壓。這樣咱們就跳過了下載gradle這一步。

(3) 從新開啓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插件)必定不能混爲一談,2者是有區別的。android gradle插件依賴於gradle。
1.gradle的配置
當咱們在setting下gradle下設置gradle選擇「use defalut gradle wrapper(recommended)」
時,as就會根據{project.dir}\gradle\wrapper\gradle-wrapper.properties文件中的配置去gradle

相關文章
相關標籤/搜索