我读了很多像这样的多个问题的答案,但它们都非常古老,在Groovy中使用《双城之战》/过时的语法和/或不适合Android项目。
我有任务。
tasks.register("asd") {
doFirst {
exec {
在Android app/build.gradle.kts
文件中开始构建时,如何运行它?
我已经打印了tasks
和project.tasks
名称,并且尝试
tasks.named("build").dependsOn(":asd")
tasks.named("app:build").dependsOn(":asd")
tasks.named(":app:build").dependsOn(":asd")
project.tasks.named("build").dependsOn(":asd")
project.tasks.named("app:build").dependsOn(":asd")
project.tasks.named(":app:build").dependsOn(":asd")
它要么使用Task <name> not found in project
失败,要么什么也不做。
我尝试了doFirst
,doLast
和两者都没有(直接exec
),仍然什么都没有。
1条答案
按热度按时间pieyvz9o1#
所以我找到了正确的方法
引用任务时不需要
:
。build
和preBuild
任务可以从(project.)tasks
访问。doFirst
是必需的,否则它将无休止地循环。tasks.register
允许任务在需要时运行,而不是立即运行,如果我们使用create
,就会发生这种情况