K.R*_*.R. 5 gradle android-gradle-plugin gradle-kotlin-dsl
我读了很多这样的问题的答案,但它们都非常古老,并且在 groovy 中使用晦涩/过时的语法和/或不适合 Android 项目。
我有一个任务。
tasks.register("asd") {
doFirst {
exec {
Run Code Online (Sandbox Code Playgroud)
当 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")
Run Code Online (Sandbox Code Playgroud)
它要么失败,Task <name> not found in project要么什么也不做。
我尝试过doFirst,doLast但都没有(直接exec),但仍然没有。
所以我找到了正确的方法
android {
project.tasks.preBuild.dependsOn("asd")
}
tasks.register("asd") {
doFirst {
exec {}
}
}
Run Code Online (Sandbox Code Playgroud)
:提到任务时不需要。和任务可从 访问build。preBuild(project.)tasks
doFirst是必要的,否则会无限循环。
tasks.register允许任务在需要时运行而不是立即运行,如果我们使用create
| 归档时间: |
|
| 查看次数: |
4597 次 |
| 最近记录: |