目录
- 对比
- 一、每个版本的Gradle plugin所需的Gradle版本:
- 二、什么是Gradle
- Gradle集成方式
- Gradle Distribution
- Gradle Wrapper
- 三、什么是Gradle plugin
- Android Gradle Plugin(AGP)
- AGP使用什么语法?
- Android Gradle Plugin DSL
- 如何修改Gradle plugin版本
对比
项 | Gradle | Android Gradle Plugin |
---|---|---|
主要文件 | 1、:项目根目录下的构建脚本文件,用于配置项目的构建过程和全局设置。2、:配置项目的模块。3、:Gradle Wrapper 的配置文件,用于指定 Gradle 版本和下载地址。4、:Gradle 的一般配置文件,可以定义项目的自定义属性。5、:本地开发环境的配置文件,包含 SDK 路径等信息。 | AGP 本身作为一个 Gradle 插件,其代码和逻辑被包含在 Android 项目的 Gradle 插件依赖中,因此 AGP 并不包含特定的文件。AGP 主要通过在项目根目录下的 文件中进行配置和使用。 |
指定版本 | 中distributionUrl | 中 |
源码 | /gradle/gradle | /platform/tools/base |
API | /current/javadoc/ | /reference/tools/gradle-api/8.2/classes |
API调用方式 | 在 Gradle 构建脚本(通常是 文件)中直接调用 Gradle API 来配置项目、定义任务、管理依赖关系等。gradlew 脚本本身并不提供直接调用 Gradle API 的功能。但是,您可以在 文件中编写 Gradle 构建脚本,然后使用 gradlew 脚本来执行这些构建脚本。 | Android 项目的 文件中直接调用 AGP API。通过 Gradle 脚本语言(Groovy 或 Kotlin),您可以使用 AGP API 来配置 Android 项目的构建过程、定义任务、管理依赖关系等 |
Task API | Task是Gradle API的一部分。它是Gradle构建系统中的核心概念之一,用于表示构建过程中的工作单元。 | Android Gradle Plugin(AGP)利用了Gradle的任务(Task)概念,并提供了一些特定于Android开发的任务,如编译源代码、打包APK、签名应用等。 |
一、每个版本的Gradle plugin所需的Gradle版本:
为了能有更好的体验,我们应该尽可能使用最新版的gradle和gradle plugin。
更新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.2.3 | 2.14.1+ |
2.3.0+ | 3.3+ |
3.0.0+ | 4.1+ |
3.1.0+ | 4.4+ |
3.2.0 - 3.2.1 | 4.6+ |
3.3.0 - 3.3.3 | 4.10.1+ |
3.4.0 - 3.4.3 | 5.1.1+ |
3.5.0 - 3.5.4 | 5.4.1+ |
3.6.0 - 3.6.4 | 5.6.4+ |
4.0.0+ | 6.1.1+ |
二、什么是Gradle
- Gradle全称:Gradle Build Tool,旨在提高开发者生产力。
- Gradle发布的版本记录
- 谷歌选择Gradle为Android官方构建工具
Gradle集成方式
在gradle/wrapper/中配置:distributionUrl=https\:///distributions/gradle-6.1.
通过修改gradle-xxx版本号,自动下载对应版本的gradle包。
通常,Gradle的发行版本(distribution)设置为Wrapper.
设置 - Build,Execution,Deployment - Build Tools - Gradle 中
Gradle Distribution = Wrapper
Gradle Distribution
Gradle Distribution指的是Gradle构建工具的发行版或分发版本。Gradle是一种流行的构建自动化工具,用于构建、测试和部署软件项目。Gradle distribution包括Gradle的核心程序、插件、依赖项以及其他必要的文件,使得用户可以在其计算机上使用Gradle进行项目构建和管理。Gradle distributions通常以压缩包的形式提供,用户可以下载并解压以开始使用Gradle。
Gradle Wrapper
Gradle Wrapper 是 Gradle 构建工具的一部分,它允许您在没有预先安装 Gradle 的情况下在项目中使用 Gradle。Gradle Wrapper 将 Gradle 的发行版包装在项目中,并提供了一个简单的命令行接口,以便在项目中使用 Gradle。
Gradle Wrapper 包括以下两个主要文件:
gradlew:这是一个可执行文件(在 Unix/Linux 系统上为 shell 脚本,在 Windows 上为批处理文件),用于运行 Gradle 任务。gradlew 文件会自动下载并使用指定版本的 Gradle,而无需手动安装 Gradle。这使得您可以在项目中使用特定版本的 Gradle,而不必担心本地环境中是否已安装了 Gradle。
gradle/wrapper 目录:该目录包含了 和 文件。 包含了 Gradle Wrapper 的代码逻辑,而 文件包含了指定 Gradle 版本和下载地址的配置信息。
使用 Gradle Wrapper 有几个优点:
-
便携性:Gradle Wrapper 将 Gradle 版本与项目一起提供,使得项目更加便携和可移植。
-
版本控制:可以将 Gradle Wrapper 的配置文件()纳入版本控制系统,确保所有开发者使用相同版本的 Gradle。
-
自动化安装:Gradle Wrapper 会自动下载并安装指定版本的 Gradle,减少了手动安装 Gradle 的步骤。
三、什么是Gradle plugin
- Android Gradle Plugin DSL发版记录
- Android Gradle Plugin DSL参考文档–版本记录
Android Gradle Plugin(AGP)
AGP是Android项目的构建引擎。以下是一些在Android Studio中使用AGP的基本步骤:
1、创建新项目:在Android Studio中创建新项目时,它会自动配置并使用最新版本的AGP。
2、配置构建文件:在项目的文件中配置构建脚本和依赖项。主要的构建脚本是和。
3、使用插件功能:AGP提供了许多插件和功能,例如应用程序ID管理、签名配置、构建类型和渠道配置等。可以在文件中配置这些功能。
4、构建和运行应用:通过Android Studio的构建菜单或命令行工具运行构建任务,以编译、打包和运行应用程序。AGP会负责处理构建流程中的各种任务,如资源处理、代码混淆等。
5、调试和优化:利用Android Studio的调试工具和性能优化功能,调试和优化应用程序。AGP也提供了一些调试和优化的功能,如资源优化和代码混淆。
AGP使用什么语法?
Android Gradle Plugin (AGP) 使用 Groovy 和 Kotlin DSL 两种语法来配置构建脚本。
Groovy DSL:
在较早的版本中,Android项目的构建脚本通常使用 Groovy DSL,它是基于 Groovy 编程语言的一种声明式语法。Groovy DSL提供了一种简洁而灵活的方式来配置构建和依赖项。示例:
android {
compileSdkVersion 31
buildToolsVersion "31.0.0"
defaultConfig {
applicationId ""
minSdkVersion 21
targetSdkVersion 31
versionCode 1
versionName "1.0"
}
}
Kotlin DSL:
从较新的版本开始,AGP 还支持使用 Kotlin DSL 来编写构建脚本。Kotlin DSL 使用 Kotlin 编程语言的语法,提供了更加类型安全和表达力强的方式来配置构建。示例:
android {
compileSdkVersion(31)
buildToolsVersion("31.0.0")
defaultConfig {
applicationId = ""
minSdkVersion(21)
targetSdkVersion(31)
versionCode = 1
versionName = "1.0"
}
}
Android Gradle Plugin DSL
DSL的全称是domain-specific language,与之相对的是GPL(general-purpose language)。
常见的DSL有:HTML,Shell,make语言,ant语言,maven语言,rpm语言,dpkg语言,awk语言,正则表达式,dc计算机语言等,有些DSL语言又被称为微型语言
常见的GPL有:Java,C等
我们知道Android Studio的构建系统是基于上面所说的Gradle,而Android Gradle plugin针对构建Android App又添加了许多特性。
虽然这个Android plugin通常紧跟Android Studio一同升级,然而这个plugin(和其余的gradle系统)也是可以脱离Android Studio独立运行并单独更新的。
如何修改Gradle plugin版本
要修改 Android Gradle Plugin (AGP) 版本,您需要编辑您的项目根目录下的 文件。在这个文件中,您会找到类似于 classpath ‘:gradle:4.1.0’ 的代码行,其中 4.1.0 是 AGP 的版本号。您可以修改这个版本号来指定您想要使用的 AGP 版本。
下面示例,通过在文件设置plugin版本为4.0.0:
buildscript {
repositories {
// Gradle 4.1 and higher include support for
// Google's Maven repo using the google() method.
// And you need to include this repo to download
// Android Gradle plugin 3.0.0 or higher.
google()
...
}
dependencies {
// Set Gradle plugin to version 4.0.0.
classpath ':gradle:4.0.0'
}
}