Gradle 基础
一、初始化项目
创建项目
gradle init
根据引导,创建项目。
基本命令:
./gradlew build./gradlew run
工程结构
- gradle
- wrapper
- app 源码模块和编译配置
- build.gradle
- src
- gradlew
- gradlew.bat
- settings.gradle 项目设置文件,包含子项目
一般项目,还包含 另外可选的:
- build.gradle
- libs.versions.toml 版本目录配置
- 子项目,每个子项目 都包含 build.gradle 文件
理解设置文件 settings.gradle
一个工程 由 一个或多个 子工程 组成。
settings.gradle
就是配置 哪些子工程构成 工程构建。
默认项目配置:
rootProject.name = 'demo'
include('app')
理解编译脚本 build.gradle
build.gradle
是 编译流程的核心组件,定义项目必要的任务。
plugins {id 'application'
}repositories {mavenCentral()
}dependencies {testImplementation 'org.junit.jupiter:junit-jupiter:5.9.1'implementation(libs.guava)
}application {mainClass = 'demo.App'
}tasks.named('test') {useJUnitPlatform()
}
二、运行任务
查看所有任务:
./gradlew tasks
默认任务:
./gradlew build./gradlew jar./gradlew run
创建任务
tasks.create("", ) {}
任务间的依赖关系
tasks.create("hello") {print("hello")
}tasks.create("greet") {print("How are you")dependsOn("hello")
}
三、依赖
dependencies {implementation("com.squareup.okhttp3:okhttp:5.1.0")
}
由 group
name
version
三部分组成。
查看工程依赖
./gradlew :app:dependencies
./gradlew build --scan
四、查看和理解增量编译
项目根目录下,新建 gradle.properties
文件:
org.gradle.console=verbose
开启 log 选项,查看编译输出:
./gradlew :app:clean :app:build
结果标签:
标签 | 说明 |
---|---|
UP-TO-DATE | 任务已执行过了,且未改变(增量编译特性) |
SKIPPED | 显示的被阻止运行 |
FROM-CACHE | 从之前的编译缓存中 复制到 本地(编译缓存特性) |
NO-SOURCE | 任务未执行,因为输入不可用 |
- 默认 没有标签,表示 新执行 的 任务。
五、打开缓存
编辑 gradle.properties
,添加下面:
org.gradle.console=verbose
org.gradle.caching=true
执行命令:
./gradlew :app:clean :app:build
可以看到 FROM-CACHE
的标签,表示从 编译缓存 取。
Gradle 文档
- Gradle API Javadocs
- Gradle’s Kotlin DSL
Gradle发布:
- Gradle Releases
- Release Notes
相关课程:
- Free Gradle Training