1. 程式人生 > >關於Gradle和Gradle插件的問題

關於Gradle和Gradle插件的問題

all 開發環境 margin tps adding 版本 mage androi end

在Android Studio中經常出現Gradle的編譯問題,導致項目無法進行:

當更新Andorid studio 的時候,你可能會接收到一條讓你更新Gradle插件到最新版本的建議。在項目編譯需要的基礎上,你可以選擇接受或者手動選擇一個具體的版本。

下圖的表格是Andorid Gradle插件的版本和Gradle版本的對應關系。為了最好的編譯表現,你應該使用最新的Gradle插件版本和與之對應的最新的Andorid Gradle 插件的版本:

技術分享

註釋:左側是Andorid gradle插件的版本,右側是gradle的版本。


那麽在哪裏指定Andorid gradle的插件版本呢?

(1)在最外層的build.gradle文件中

buildscript {
...
dependencies {
classpath ‘com.android.tools.build:gradle:2.3.2‘
}
}

(2)Andorid studio 中選擇File > Project Structure > Project

1.gradle的配置

當我們在setting下gradle下設置gradle選擇“use defalut gradle wrapper(recommended)”時,as就會根據{project.dir}\gradle\wrapper\gradle-wrapper.properties文件中的配置去gradle

技術分享

我們用as構建android項目時,配置gradle時我們必須在{project.dir}\gradle\wrapper\gradle-wrapper.properties文件中配置gradle包, 配置的gradle必須在緩存目錄( “用戶主目錄/.gradle/wrapper/dists/gradle-*.*.*”)或者在as安裝目錄下的gradle目錄下存在對應的版本。

例如我的電腦:C:\Users\dsfg\.gradle\wrapper\dists\gradle-2.4-all
#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

這個配置的gradle如果在目錄“用戶主目錄/.gradle/wrapper/dists/..”存在的話,as就不會去https\://services.gradle.org/distributions/gradle-2.2.1-all.zip去下載了,as就會利用該目錄下的緩存,如果該目錄下不存在gradle的話as就會去站點根據gradle的版本去下載到“用戶主目錄/.gradle/wrapper/dists/gradle-2.2.1-all”目錄下.

如果選擇的是“use local gradle distribution”的話表示用的是本地的gradle,本地的gradle是在as的主目錄下的gradle目錄下,比如我的電腦D:\android開發環境\android-studio-ide-143.2739321-windows\android-studio\gradle\gradle-2.10,而不會去緩存目錄 “用戶主目錄/.gradle/wrapper/dists/gradle-*.*.*”中去找。

“global gradle setting”我們暫時不考慮

技術分享

2.android gradle 插件的配置

上面我討論的是gradle的配置,下面我們來說說android gradle 插件的配置,我們通過主工程項目的build.gradle(不是module的build.gradle)來設置android gradle 插件

技術分享

在build.gradle中

dependencies {
    classpath ‘com.android.tools.build:gradle:2.0.0‘}

 這裏配置的android gradle插件的版本是2.0.0,再一次強調我們一定要記住gradle版本和android gradle插件的版本根本不是一回事,不能混為一談,

下面是android studio版本, gradle版本,android gralde 插件的版本關系對應表

技術分享

關於Gradle和Gradle插件的問題