Gradle 简介
Gradle 是一种强大的构建工具,广泛应用于 Java、Kotlin、Groovy、Android 等生态系统。它以 声明性 和 灵活性 著称,使用基于 Groovy 或 Kotlin 的 DSL(领域特定语言)来定义构建脚本。
Gradle 可以用于以下任务:
• 编译代码
• 运行测试
• 打包应用程序
• 管理依赖
• 部署应用
快速入门
- 安装 Gradle
• 手动安装:- 下载 Gradle:https://gradle.org/releases/
- 解压后配置环境变量 GRADLE_HOME 和 PATH。
• 使用包管理器:
• MacOS: brew install gradle
• Ubuntu: sudo apt install gradle
• Windows: 使用 choco install gradle
验证安装:
gradle -v
- 创建一个项目
- 初始化项目:
gradle init
选择项目类型:
• Java 应用
• Kotlin 应用
• Groovy 应用
• 基础项目
2. 目录结构:
project-root/
├── build.gradle // 构建脚本
├── settings.gradle // 配置项目名称等
├── src/
├── main/
│ └── java/ // 源代码
├── test/
└── java/ // 测试代码
- 基本配置
• build.gradle 是核心构建脚本,可以用 Groovy 或 Kotlin 编写。
简单的 Java 项目示例:
plugins {
id 'java'
}
group = 'com.example'
version = '1.0'
repositories {
mavenCentral()
}
dependencies {
// 添加依赖
implementation 'org.apache.commons:commons-lang3:3.12.0'
testImplementation 'junit:junit:4.13.2'
}
配置说明:
• plugins: 应用插件(例如 java 插件)。
• group 和 version: 项目分组和版本号。
• repositories: 定义依赖下载的仓库。
• dependencies: 管理项目依赖。
- 常用 Gradle 命令
命令 功能
gradle tasks 查看可用任务
gradle build 构建项目(编译+打包)
gradle clean 清理构建产物
gradle test 运行测试
gradle dependencies 查看依赖树
gradle assemble 只打包不运行测试
gradle run 运行应用(需 application 插件)
Gradle 核心概念
- 插件 (Plugins)
Gradle 的功能通过插件扩展。常用插件有:
• java:用于构建 Java 项目。
• application:用于运行应用程序。
• kotlin:支持 Kotlin。
• groovy:支持 Groovy。
• war:用于生成 Web 应用 WAR 包。
示例:
plugins {
id 'java'
id 'application'
}
application {
mainClass = 'com.example.Main'
}
- 依赖管理
Gradle 使用 dependencies 块管理项目的依赖项。
• 配置依赖类型:
• implementation: 编译期依赖。
• testImplementation: 测试依赖。
• runtimeOnly: 运行时依赖。
示例:
dependencies {
implementation 'org.apache.commons:commons-lang3:3.12.0'
testImplementation 'junit:junit:4.13.2'
runtimeOnly 'mysql:mysql-connector-java:8.0.29'
}
• 仓库配置:
Gradle 支持多个仓库,例如:
repositories {
mavenCentral()
google() // Android 项目
jcenter()
}
- 多项目构建
Gradle 支持构建多模块项目。
目录结构:
multi-project/
├── settings.gradle
├── app/
│ └── build.gradle
├── library/
└── build.gradle
配置 settings.gradle:
rootProject.name = 'multi-project'
include 'app', 'library'
跨模块依赖:
dependencies {
implementation project(':library')
}
- 自定义任务
Gradle 支持编写自定义任务以执行特定操作:
tasks.register('hello') {
doLast {
println 'Hello, Gradle!'
}
}
运行:
gradle hello
Gradle 与 Android 开发
Android Studio 默认使用 Gradle 构建工具。以下是 Android 项目中的常用配置:
build.gradle (项目级):
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.0.2'
}
}
build.gradle (模块级):
plugins {
id 'com.android.application'
id 'kotlin-android'
}
android {
compileSdk 34
defaultConfig {
applicationId "com.example.app"
minSdk 21
targetSdk 34
versionCode 1
versionName "1.0"
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.10.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
}
Gradle 的高级用法
- 动态版本依赖
可以使用动态版本号:
dependencies {
implementation 'com.google.guava:guava:30.+'
}
- 构建变体
适用于 Android 项目,支持定义多种构建配置:
android {
buildTypes {
debug {
applicationIdSuffix ".debug"
}
release {
minifyEnabled true
}
}
}
- 自定义属性
使用 ext 定义全局变量:
ext {
kotlin_version = '1.9.0'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
学习资源
- 官方文档:https://docs.gradle.org/
- Gradle 用户指南:https://docs.gradle.org/current/userguide/userguide.html
- Gradle 教程:
• Gradle 初学者指南:https://gradle.org/guides/
• Android 官方 Gradle 文档:https://developer.android.com/studio/build
通过掌握以上内容,你可以快速入门 Gradle,并使用它来构建和管理各种项目! 🚀