本文转载自:https://blog.csdn.net/u010389578/article/details/80630964
在gradle中一个任务一般都是由多个子任务组成,各个子任务之间存在依赖关系,gradle会按我们预定的依赖关系去选择合适的顺序去执行各个子任务,最终保证任务的正确执行。在使用gradle构建工程的时候,有时我们需要去看某个任务由哪些子任务组成,各个子任务之间存在着什么样的依赖关系。这时可以选择使用下面的命令去执行需要查看的任务,该命令只会按正确的顺序列出所有的子任务而不会去真正执行
1 | ./gradlew 任务名字 –dry-run(或 -m) |
运行./gradlew -h可以看到官方的使用说明
1 | -m, –dry-run Run the builds with all task actions disabled. |
我在最初使用gradle的时候不知道Android中的build、assemble、assembleDebug 、assembleRelease等任务的区别。这时就可以使用上面说到的方法,运行./gradlew build –dry-run,列出所有子任务,可以看到所有子任务都是被跳过的,并不会真正执行。
1 | :app:preBuild SKIPPED |
通过对比对列出来的子任务最后发现以下关系:
build = assemble + lint + test相关
assemble = assembleDebug + assembleRelease