一、搭建 Gradle 环境(Windows)
确保 Java 环境 OK
需要安装 Java JDK 8 及以上版本,并配置好 Java 环境变量,其过程这里就不展示了,请自行百度吧,要验证 Java 环境是否 OK,可在终端输入如下命令:
下载 Gradle SDK
从 Gradle官网 下载 all 版本,下载完成后进行解压,得到如下目录清单:
解释下:
文件名 | 说明 |
---|---|
bin | bat指令 |
docs | 文档 |
init.d | 初始化脚本 |
lib | 相关库 |
src | 源文件 |
LICENSE | |
NOTICE | |
README |
添加 Gradle 环境变量
将 bin 目录添加到环境变量 path 里,要验证 Gradle 环境是否 OK,可在终端输入如下命令:
至此,Gradle 环境搭建完成。
二、Hello World(Gradle 版)
新建一个目录 Demo,这个目录名字可以随意起,然后在 Demo 下创建一个名为 build.gradle 的脚本文件,打开编辑该脚本文件,输入如下内容:
task firstTask {
doLast {
println "Hello World!"
}
}
复制代码
打开终端,定位到 Demo 下,敲入 gradle -q firstTask 命令执行脚本:
当执行 Gradle 命令时,会默认加载 Demo 目录下的 build.gradle 脚本文件,该脚本定义了一个任务,任务名称为 firstTask ,doLast 表示任务执行完毕之后回调。再看命令 gradle -q firstTask ,-q 参数用于控制日志输出,整个命令表示去执行 build.gradle 脚本中定义的名为 firstTask 的任务。
三、Gradle Wrapper
Wrapper 是对 Gradle 的一层包装,用于统一 Gradle 构建的脚本,避免多人协同开发时因为 Gradle 版本不统一带来的不必要问题。
生成 Wrapper
打开终端,定位到 Demo 下,使用 gradle wrapper 命令生成 Wrapper:
生成的文件如下:
|— gradle
| |— wrapper
| |— gradle-wrapper.jar(业务逻辑)
| |— gradle-wrapper.properties(配置文件)
|— gradlew (Linux指令)
|— gradlew.bat(Windows指令)
也可以使用 gradle wrapper –gradle-version 6.8.1 命令生成指定版本的 Gradle。
gradle-wrapper.properties
基于 Gradle 7.1.1 生成的 gradle-wrapper.properties 文件内容如下:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
复制代码
解释下:
字段名 | 说明 |
---|---|
distributionBase | 下载的 Gradle 压缩包解压后存储的主目录 |
distributionPath | 相对于 distributionBase 的解压后的 Gradle 压缩包的路径 |
distributionUrl | Gradle 发行版压缩包的下载地址 |
zipStoreBase | 同 distributionBase,只不过是存放 zip 压缩包的 |
zipStorePath | 同 distributionPath,只不过是存放 zip 压缩包的 |
对于字段 distributionUrl,通常把 bin 改成 all,在开发过程中,就可以看到 Gradle 源代码:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-all.zip
复制代码
自定义 Wrapper Task
gradle-wrapper.properties 本身是由 Wrapper Task 生成的,可以通过修改 Wrapper Task 的配置来生成 gradle-wrapper.properties,比如在 build.gradle 脚本文件中输入:
task wrapper(type: Wrapper){
gradleVersion = '6.8.1'
}
复制代码
执行 gradle wrapper 命令后,就会生成 6.8.1 版本的 Wrapper 了
四、Gradle 日志
日志级别
Gradle 日志级别如下:
级别 | 说明 |
---|---|
ERROR | 错误消息 |
QUIET | 重要消息 |
WARNING | 警告消息 |
LIFECYCLE | 进度消息 |
INFO | 信息消息 |
DEBUG | 调试消息 |
可以通过命令来显示这些日志:
gradle -q firstTask //输出QUIET级别及其以上的日志信息
gradle -i firstTask //输出INFO级别及其以上的日志信息
复制代码
错误堆栈信息
在构建失败时,Gradle 会输出一些错误堆栈信息,用于定位分析、解决问题。默认情况下,堆栈信息的输出是关闭的,可通过命令去打开它,其开关选项如下:
选项 | 说明 |
---|---|
无选项 | 没有堆栈信息输出 |
-s或者–stacktrace | 输出关键性的堆栈信息 |
-S或者–full-stacktrace | 输出全部堆栈信息 |
日志信息调试
一般都是使用 print 系列方法输出日志信息,它被定向为 QUIET 级别日志。除此之外,还有一个 logger 可以灵活控制输出不同级别的日志:
logger.quiet('quiet日志信息')
logger.error('error日志信息')
logger.warn('warn日志信息')
logger.lifecylcle('lifecylcle日志信息')
logger.debug('debug日志信息')
复制代码