接入过程中,很多人遇到gradle的各种错误,由于对各种gradle版本的概念不甚了了,模模糊糊一顿操作猛如虎,糊弄的能编译通过就万事大吉,下次再遇到又是一脸懵逼。所以我们还是一起先厘清gradle的版本概念。
1 明晰概念
Gradle是一个开源的项目自动化构建工具。它基于特定的语言来声明项目设置,抛弃了基于XML的各种繁琐配置。
1.2 Gradle Plugin(Gradle插件)
全称应该叫Android Plugin for Gradle。其实就是为了使用Gradle构建Android应用,所封装的一个工具。是针对Gradle发行版和Android SDK Build Tools封装的一个工具。 主要有两大功能:
-
调用Gradle本身的代码和批处理工具来构建项目
-
调用Android SDK的编译、打包功能
1.3 Android SDK Build Tools(Android SDK 构建工具)
是构建Android 应用所需 Android SDK 的一个编译工具组件,安装在 <sdk>/build-tools/ 目录中。
2 查看版本的方法
2.1 Gradle发行版本
常见的如:gradle-5.6.4-all.zip
在Android Studio项目中,查看文件gradle-wrapper.properties
文件路径:project的gradle 文件夹->wrapper->gradle-wrapper.properties
#Sat Oct 10 16:41:39 CST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
如上所示,项目所使用的Gradle的发行版本就是6.1.1
2.2 Gradle Plugin
方法1:在Android Studio中查看Project Structure属性面板,第一行是Gradle Plugin的版本,第二行是Gradle发行版本。
方法2:在在Android Studio项目中的 build.gradle 中,也可以看到对Gradle Plugin的版本依赖:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.2'
}
}
2.3 Android SDK Build Tools
在在Android Studio项目中,主Module的build.gradle文件中检索buildToolsVersion进行查看:
android {
buildToolsVersion "29.0.3"
...
}
3 gradle plugin、gradle plugin 和buildTools之间的关系
3.1 一句话概括
Gradle Plugin对Gradle发行版进行了封装,BuildTools使用Gradle Plugin辅助进行构建Android应用的工作。
3.2 三者的匹配关系
-
Gradle Plugin的每个版本号匹配一个或多个 Gradle发行版本号(一般是限定一个最低版本号)。如果这两个版本号匹配不正确,那么构建项目的时候就会报错。
如下表列出了各Android Gradle插件版本所需的Gradle版本。
最新的对应的关系请查看官网链接:https://developer.android.google.cn/studio/releases/gradle-plugin.html#updating-plugin
-
-
Gradle Plugin 还和 Android SDK BuildTools 有依赖,一般来说安装较新版本的SDK BuildTools即可。 可以使用 Android SDK 管理器下载该组件的最新版本。 如果不想使用默认版本,可在Module的build.gradle文件中使用buildToolsVersion进行指定 。
android { buildToolsVersion "29.0.2" ... }
-
评论