任务表示构建执行的某个独立工作单元,例如编译类、创建 JAR、生成 Javadoc 或将归档发布到仓库。

任务是每个 Gradle 构建的组成部分。
常见的任务类型包括:
-
编译源代码
-
运行测试
-
打包输出(例如,创建 JAR 或 APK)
-
生成文档(例如,Javadoc)
-
将构建产物发布到仓库
每个任务都是独立的,但可以依赖其他任务先运行。Gradle 利用此信息来找出执行任务的最有效顺序 — 跳过任何已经是最新的内容。
运行任务
要运行任务,请从项目根目录使用 Gradle Wrapper。例如,运行 build
任务:
$ ./gradlew build
这将运行 build
任务及其所有依赖项。
列出可用任务
Gradle 插件和您的构建脚本定义了项目中可用的任务。要查看它们:
$ ./gradlew tasks
这会显示一个分类的任务列表:
Application tasks
-----------------
run - Runs this project as a JVM application
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
...
Documentation tasks
-------------------
javadoc - Generates Javadoc API documentation for the main source code.
...
Other tasks
-----------
compileJava - Compiles main Java source.
...
您可以使用 ./gradlew <task-name>
命令直接运行这些任务中的任何一个。
运行任务
如果您的构建文件中应用了 application
插件,则 run
任务应该可用。您可以像这样运行您的项目:
$ ./gradlew run
输出示例:
> Task :app:compileJava
> Task :app:processResources NO-SOURCE
> Task :app:classes
> Task :app:run
Hello World!
BUILD SUCCESSFUL in 904ms
2 actionable tasks: 2 executed
Gradle 运行了执行应用程序所需的所有任务,包括先编译它。在此示例中,run
任务的输出是在控制台上打印的 Hello World
语句。
任务依赖
大多数任务不会独立运行。Gradle 知道哪些任务依赖于其他任务,并将自动以正确的顺序运行它们。
例如,当您运行 ./gradlew build
时,Gradle 还会先运行 compileJava
、test
和 jar
等任务 — 因为 build
依赖于它们:
$ ./gradlew build
> Task :app:compileJava
> Task :app:processResources NO-SOURCE
> Task :app:classes
> Task :app:jar
> Task :app:startScripts
> Task :app:distTar
> Task :app:distZip
> Task :app:assemble
> Task :app:check
> Task :app:build
BUILD SUCCESSFUL in 764ms
7 actionable tasks: 7 executed
您无需担心排序 — Gradle 会替您处理。
要了解如何定义自己的任务并控制它们的工作方式,请参阅任务开发章节。
下一步: 了解插件 >>