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

任务是所有 Gradle 构建的构建块。
常见的任务类型包括
-
编译源代码
-
运行测试
-
打包输出(例如,创建 JAR 或 APK)
-
生成文档(例如,Javadoc)
-
将构建 Artifacts 发布到仓库
每个任务是独立的,但可以依赖其他任务先运行。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 会为您处理。
要了解如何定义自己的任务以及如何控制它们的运行,请参阅任务开发章节。
下一步: 了解插件 >>