什么是gradle?
Gradle 是一个开源的自动化构建工具,主要用于 Java、Kotlin、Groovy、Scala 等 JVM 语言的项目构建,但也支持 C/C++、JavaScript、Android 等其他技术栈。它结合了 Apache Ant 的灵活性和 Apache Maven 的依赖管理能力,并采用 Groovy(或 Kotlin) 作为领域特定语言(DSL),使构建脚本更简洁、可读性更强。
gradle根据project中的构建脚本(build.gradle),执行构建流,并将构建完成的依赖以jar、apk、zip或war格式打包。
Gradle 核心概念
projects
Gradle 项目是可以构建的软件,例如应用程序或库。
单个项目构建包括一个称为根项目的项目。
多项目构建包括一个根项目和任意数量的子项目。
Build Scripts
构建脚本(build scripts)向 Gradle 详细说明了构建项目需要采取的步骤。
每个项目可以包含一个或多个生成脚本。
Dependency Management
依赖项管理是一种用于声明和解析项目所需的外部资源的自动化技术。
每个项目通常都包含许多外部依赖项,Gradle 将在构建过程中解决这些依赖项。
Tasks
任务是一个基本工作单元,例如编译代码(task1)或运行测试(task2)。
每个项目都包含在构建脚本或插件中定义的一个或多个任务。
Plugins
插件用于扩展 Gradle 的功能,并选择性地为项目贡献任务。
Gradle 项目结构
Gradle 项目结构如下:
project
├── gradle
│ ├── libs.versions.toml
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle(.kts)
├── subproject-a
│ ├── build.gradle(.kts)
│ └── src
└── subproject-b
├── build.gradle(.kts)
└── src
- gradle:用于存储包装器文件等的 Gradle 目录
- ibs.versions.toml:用于依赖项管理的 Gradle 版本目录
- gradlew 、gradlew.bat:Gradle 包装器脚本
- settings.gradle(.kts):Gradle 设置文件,用于定义根项目名称和子项目
- build.gradle(.kts):两个子项目的 Gradle 构建脚本
- src:项目的源代码和/或其他文件
调用 Gradle
IDE 开发环境
Gradle 内置于许多 IDE 中,包括 Android Studio、IntelliJ IDEA、Visual Studio Code、Eclipse 和 NetBeans。
当您在 IDE 中构建、清理或运行应用程序时,可以自动调用 Gradle。
建议您查阅所选 IDE 的手册,以了解有关如何使用和配置 Gradle 的更多信息。
命令行
$ gradle build
Gradle 包装器(gradle wrapper)
Wrapper 是一个脚本,用于调用声明的 Gradle 版本,是执行 Gradle 构建的推荐方法。 它在项目根目录中以 or 文件的形式找到:gradlewgradlew.bat
$ gradlew build // Linux or OSX
$ gradlew.bat build // Windows
原文参考Gradle官方文档:Gradle Basics