每个人都必须从某个地方开始,如果您是 Gradle 的新手,这就是开始的地方。

在你开始之前

为了有效地使用 Gradle,您需要知道它是什么并理解它的一些基本概念。因此,在您开始认真使用 Gradle 之前,我们强烈建议您阅读 Gradle是什么?

Installation

如果您只想运行现有的 Gradle 构建,那么如果该构建具有 Gradle Wrapper 且可通过构建根目录中的 gradlew 和/或 gradlew.bat 文件识别,则无需安装 Gradle。您只需要确保您的系统 满足 Gradle 的先决条件

Android Studio 附带了 Gradle 的工作安装,因此在这种情况下您不需要单独安装 Gradle。

为了创建新构建或向现有构建添加 Wrapper,您需要安装Gradle 根据这些说明。请注意,除了该页面上描述的那些之外,可能还有其他安装 Gradle 的方法,因为几乎不可能跟踪那里的所有包管理器。

命令行与 IDE

有些人是铁杆命令行用户,而另一些人则更喜欢从不离开他们舒适的 IDE。许多人乐于使用两者,Gradle 努力不歧视。 Gradle 由 几个主要的IDE 支持,可以从 命令行 完成的所有事情都可以通过 工具API 提供给 IDE。

Android Studio 和 IntelliJ IDEA 用户在编辑它们时应考虑使用 Kotlin DSL 构建脚本 以获得高级 IDE 支持。

执行 Gradle 构建

如果您遵循任何教程 上面链接 ,您将执行 Gradle 构建。但是,如果您在没有任何说明的情况下获得 Gradle 构建,您会怎么做?

以下是一些有用的步骤:

  1. 确定项目是否有 Gradle 包装器和 如果它在那里就使用它 — 主要 IDE 默认使用可用的包装器。

  2. 发现项目结构。

    使用 IDE 导入构建或从命令行运行 gradle projects。如果仅列出根项目,则它是一个单一项目构建。否则它是一个 多项目构建

  3. 了解您可以运行哪些任务。

    如果您已将构建导入 IDE,您应该可以访问显示所有可用任务的视图。从命令行运行 gradle tasks

  4. 通过 gradle help --task <taskname> 了解有关任务的更多信息。

    help 任务可以显示有关任务的额外信息,包括哪些项目包含该任务以及该任务支持哪些选项。

  5. 运行您感兴趣的任务。

    许多基于约定的构建与 Gradle 的 生命周期任务 集成,因此当您没有更具体的构建要执行的操作时,请使用它们。例如,大多数构建都有 cleancheckassemblebuild 任务。

    在命令行中,只需运行 gradle <taskname> 即可执行特定任务。您可以在 相应的用户手册章节 中了解有关命令行执行的更多信息。如果您使用的是 IDE,请查看其文档以了解如何运行任务。

Gradle 构建通常遵循项目结构和任务的标准约定,因此如果您熟悉相同类型的其他构建——例如 Java、Android 或原生构建——那么构建的文件和目录结构也应该熟悉许多任务和项目属性。

对于更专业的构建或具有显着自定义的构建,理想情况下,您应该可以访问有关如何运行构建以及构建属性可以配置什么的文档。

编写 Gradle 构建

学习创建和维护 Gradle 构建是一个过程,需要一点时间。我们建议您从项目的适当核心插件和它们的约定开始,然后随着您对该工具的更多了解逐渐纳入自定义。

以下是掌握 Gradle 的一些有用的第一步:

  1. 尝试一两个 基础教程 以查看 Gradle 构建的外观,尤其是与您使用的项目类型(Java、本机、Android 等)相匹配的构建。

  2. 确保您已阅读 Gradle是什么?

  3. 了解 Gradle 构建的基本元素:项目tasks文件API

  4. 如果您正在为 JVM 构建软件,请务必阅读 构建 Java 和 JVM 项目在 Java 和 JVM 项目中测试 中这些项目类型的细节。

  5. 熟悉随 Gradle 一起打包的 核心插件,因为它们提供了许多开箱即用的有用功能。

  6. 学习如何 编写可维护的构建脚本最好地组织你的 Gradle 项目

将 3rd 方工具与 Gradle 集成

Gradle 的灵活性意味着它可以轻松地与其他工具一起使用,例如我们的 Gradle 和第三方工具 页面上列出的工具。

主要有两种集成模式:

  • 一个驱动 Gradle 的工具——使用它来提取关于构建的信息并运行它——通过 工具API

  • Gradle 通过第三方工具的 API 为工具调用或生成信息——这通常是通过插件和自定义任务类型完成的

具有现有的基于 Java 的 API 的工具通常易于集成。您可以在 Gradle 的 插件门户 上找到许多此类集成。