build.gradle中依賴的classpath 'com.android.tools.build:gradle:2.1.2'和gradle-wrapper.properties中的distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip有什麼區別?android
Android studio 更新後,Gradle和Gradle插件間版本該如何對應?app
你是否是也有這樣的困惑?讀完本文後,或許對你有點點幫助.工具
二、名詞解釋:gradle
Gradle插件:該名稱的英文是:Android Plugin for Gradleui
咱們知道Android的構建系統使用Gradle來構建應用.Gradle是一種構建工具,它使用一種基於Groovy的特定領域語言來申明項目設置.spa
上面是Android developer上對Gradle的解釋.聽起來有些拗口.咱們能夠這麼理解:插件
軟件開發過程不單單是編寫代碼,還涉及到對項目的管理,好比:添加項目的依賴,打包,簽名,發佈等一系列操做,若是你天天都在作這些操做,那有沒有想過這些操做能夠像代碼同樣被描述出來,供咱們複用以及自動運行.ip
沒錯,這就是Gradle替咱們作的事!Gradle經過編寫一個名爲build.gradle的腳本文件對項目進行設置,再根據這個腳本對項目進行構建.開發
那麼,如何來提供這個Gradle構建環境呢?這就須要經過安裝Gradle插件來使系統能支持運行Gradle.安裝Android Studio後就已經幫我安裝了Gradle插件.但Gradle插件是獨立於Android Studio運行的,因此它的更新也是與Android Studio分開的.it
當更新了Android Studio,你可能會收到提示要求更新Gradle插件到最新版本.你能夠選擇接受更新,也能夠基於你的項目編譯要求來手動指定版本.
指定Gradle插件版本有兩種方式:
下面的例子在build.gradle中設置Gradle版本爲2.2.0
注意:不該該動態指定版本號,如"com.android.tools.build:gradle:2.+".這樣作可能會致使意外的版本更新,而且會給解決版本差別帶來困難.
若是指定的版本沒有下載下來,那麼項目在下次構建的時候Gradle會再去下載.或者你也能夠點擊Tools > Android > Sync Project with Gradle Files去下載.
當更新了Android Studio,系統會提示要求更新Gradle到最新版本.同更新Gradle插件同樣,你能夠選擇接受更新,也能夠基於你的項目編譯要求來手動指定版本.
更新Gradle也有兩種方式:
在gradle/wrapper/gradle-wrapper.properties文件中編輯Gradle引用地址以下:
由於Gradle仍在發展,在不斷更新,天然Gradle插件也須要不斷更新版本才能提供對新版本Gradle的支持,那麼它們之間的版本是如何對應的呢?
下圖展現了Gradle插件與Gradle版本間更新的對應關係.順便說一下,最好讓你的Gradle和Gradle插件都更新到最新.
Plugin version | Required Gradle version |
---|---|
1.0.0 - 1.1.3 | 2.2.1 - 2.3 |
1.2.0 - 1.3.1 | 2.2.1 - 2.9 |
1.5.0 | 2.2.1 - 2.13 |
2.0.0 - 2.1.2 | 2.10 - 2.13 |
2.1.3+ | 2.14.1+ |
gradle-wrapper.properties中配置的是的Gradle的版本.
build.gradle中的依賴指定的是Gradle插件的版本.