Gradle 7.0.2
目录
一、Gradle Wrapper
1. 什么是 Gradle Wrapper
The Wrapper is a script that invokes a declared version of Gradle, downloading it beforehand if necessary. ——摘自官网
通俗来说,Wrapper 包装器,是对 Gradle 的一层包装,是 Gradle 的一个调用脚本,主要是帮助我们简化 Gradle 的创建、部署和管理
2. 如何生成一个 Gradle Wrapper 所需的目录文件
1.)在项目的根目录中输入:gradle wrapper
- wrapper 是 Gradle 内置的一个 Task
2.)根目录下会生成以下文件:
文件说明:
- gradle/wrapper/gradle-wrapper.jar 具体 wrapper 业务实现的 jar 包
- gradle/wrapper/gradle-wrapper.properties 配置文件,用于配置 Gradle 版本等
- gradlew Linux 下的可执行脚本
- gradlew.bat Windows 下的可执行脚本
3.)指定参数以控制 Wrapper 生成
参数 | 说明 | 例子 |
---|---|---|
–gradle-version | 指定使用的 Gradle 版本 | –gradle-version 7.0.2 |
–distribution-type | 指定使用的 Gradle 类型,有两种值,分别是 bin 或 all,默认值为 bin | –distribution-type all |
–gradle-distribution-url | 指定下载 Gradle 发行版的 url 地址 | –gradle-distribution-url https://services.gradle.org/distributions/gradle-7.0.2-all.zip |
–gradle-distribution-sha256-sum | 下载 Gradle 发行版的哈希验证 |
4.)注意点:是在项目的根目录下,不是一个空目录下,项目下必须有.gradle文件
3. gradle-wrapper.properties
- distributionBase 与 distributionPath 指明了下载下来的 Gradle 压缩包解压的地方
- zipStoreBase 与 zipStorePath 指明了下载下来的 Gradle 压缩包存放的位置
- distributionUrl Gradle 压缩包的下载地址
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
4. 如何使用 Gradle Wrapper 下载 Gradle
Gradle 项目目录下执行:./gradlew
,依据系统环境执行相关下载脚本即可
5. 通过自己写的 Task 来生成 Gradle Wrapper
在 Gradle 根目录下执行命令 gradle wrapperDownload
就会生成 7.0.2 版本的 Gradle Wrapper 了,当然还可以自己配置其他参数
// 写法一 gradle wrapperDownload
task wrapperDownload(type: Wrapper){
gradleVersion = '7.0.2'
}
// 写法二 gradle wrapper
tasks.named('wrapper') {
gradleVersion = '7.0.2'
}
二、Gradle Wrapper 的一些命令
1. 查看帮助:
./gradlew -?
./gradlew -h
./gradlew -help
注意第一个命令里面的问号是中文问号
2. 查看所有可执行的 Tasks:
./gradlew tasks
3. 某个 Task 的使用帮助:
./gradlew help --task 任务名称
查看任务 tasks 的使用帮助
./gradlew help --task tasks
4. 强制刷新依赖:
./gradlew --refresh-dependencies assemble
5. 多任务执行:
./gradlew 任务一 任务二 任务三
6. 执行任务时,任务名称可以用缩写的方式指定(基于驼峰命名法)
./gradlew hW
task helloWorld{
doLast{
println "Hello World"
}
}
整理学习自飞雪无情大佬的《Android Gradle 权威指南》和互联网资料