Android Studio 配置Gradle總結


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

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

#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即可查看路徑,如下圖:

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


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

三,配置方法
既然搞清楚了原理,也知道打開慢的原因是卡在下載gradle這一步,那么我們就自己下載gralde,然后配置上去
(1) 修改gradle-wrapper.properties
修改gradle-wrapper.properties 中的 distributionUrl,改成我們想要的版本,只改后面的版本就可以了,前面的部分不要改。具體版本看下面鏈接:

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


最后特別感謝本文作者細心整理,本文轉載自http://blog.csdn.net/fuchaosz/article/details/51567808


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM