gradle版本和插件以及buildToolsVersion之间的对应关系

你说的曾经没有我的故事 提交于 2020-12-26 15:04:43
  • Gradle Plugin Version: Gradle 插件版本
  • Gradle Version: Gradle发行版本
  • Android SDK Build Tools Version:Android SDK 构建工具版本

一 概念

1.Gradle

  • Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置

  • 位置:项目主目录 gradle 文件夹->wrapper->gradle-wrapper.properties

#Sat Apr 13 17:00:17 CST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

2.AndroidStudio Gradle Plugin插件

  • AndroidStudio用于开发Android项目的gradle插件,它一边调用 Gradle本身的代码和批处理工具来构建项目,一边调用Android SDK的编译、打包功能。由于需要调用andriod,sdk的编译打包功能,所以该插件需要关连 Android SDK Build Tools Version

  • 位置: 项目主目录下的 build.gradle 中,如“com.android.tools.build:gradle:3.3.0”

  • Gradle插件会有版本号(3.3.0),每个版本号又对应有一个或一些 Gradle发行版本(一般是限定一个最低版本,如gradle-4.1-all.zip)

 dependencies {
   
   
        classpath 'com.android.tools.build:gradle:3.3.0'
    }

注意

  • 不应在版本号中使用动态依赖项(如 'com.android.tools.build:gradle:2.+'),使用此功能可能会导致意外的版本更新和难以解析版本差异。
  • Android Studio 3.0 之后自动将插件版本升级到3.0.0,所以我们也需要对应地把Gradle升级到4.1才行

3 Android SDK Build Tools Version:Android SDK 构建工具版本

  • 位置:app 目录->buid.gradle 文件

如使用的是 Android Plugin for Gradle 3.0.0 或更高版本,那么会自动使用该插件指定默认版本的 Build Tools。如需使用其他版本的 Build Tools,在模块的 build.gradle 中使用 buildToolsVersion 进行指定,如下所示:

android {
   
   
    buildToolsVersion "29.0.2"
    ...
}

二 三者依赖关系

plugin version Required Gradle 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 21.1.1+
2.1.3 - 2.2.3 2.14.1+ 23.0.2+
2.3.0+ 3.3+ 25.0.0+
2.3.0+ 3.3+
3.0.0+ 4.1+ 26.0.2+ 不再需要为构建工具指定版本 - 插件默认使用最低要求的版本。可以删除该android.buildToolsVersion属性
3.1.0+ 4.4+ 27.0.3+ 不再需要为构建工具指定版本 - 插件默认使用最低要求的版本。可以删除该android.buildToolsVersion属性
3.2.0 - 3.2.1 4.6+
3.3.0 - 3.3.2 4.10.1+
3.4.0+ 5.1.1+

可到安卓开放平台当中进行查询https://developer.android.google.cn/studio/releases/gradle-plugin

三 gradle的加载顺序和配置

3.1缓存目录

  • 本机缓存目录(用户主目录下),例:C:\Users\luo.gradle\wrapper\dists
  • As的安装目录:C:\Program Files\Android\Android Studio\gradle
  • 以上缓存目录为默认缓存目录,两者不一定存在,根据环境变量GRADLE_USER_HOME确定,也可以在andriodStudio,file>settings>build,excution,deployment>Gradle当中进行修改
#Wed Apr 18 10:44:08 CST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
  • zipStoreBase和zipStorePath组合在一起,是下载的gradle-4.4-all.zip所存放的位置。
  • zipStorePath是zipStoreBase指定的目录下的子目录。
  • distributionBase和distributionPath组合在一起,是解压gradle-4.4-all.zip之后的文件的存放位置。
  • distributionPath是distributionBase指定的目录下的子目录。
  • distributionUrl:Gradle下载地址

3.2 加载顺序

3.2.1 自动加载

这里写图片描述

  • Project-level setting中选择Use default gradle wrapper (recommended),先到本机的缓存目录>再到Gradle下载

  • Project-level setting中选择Use local gradle distribution,先到As安装目录查找,而不是本地缓存目录查找

3.2.2 手动下载

  • Project-level setting中选择Use default gradle wrapper (recommended),将gradle的压缩包(不解压)复制到本地缓存目录文件夹中,例:C:\Users**.gradle\wrapper\dists\gradle-4.4-all\9br9xq1tocpiv8o6njlyu5op1

  • Project-level setting中选择Use local gradle distribution,同理将gradle压缩包解压,放入As安装包目录。例:C:\Program Files\Android\Android Studio\gradle中。

3.2.2 新版本AdriodStudio

注:在新版AS当中路径设置界面略有不同

在这里插入图片描述

四 参考链接:

https://blog.csdn.net/gongxiaoou/article/details/81082387

https://developer.android.google.cn/studio/releases/gradle-plugin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!