如何在Gradle中执行doLast中的任务?

时间:2017-09-06 10:50:11

标签: android android-gradle gradle-task

我正在尝试使用gradle任务创建一个zip,但在doLast{}内运行时,它会抛出错误:>在任务开始执行后,无法在任务':app:testZip'上调用Task.dependsOn(Object ...)。

MyCode:

doLast {

    testDir.eachWithIndex { a, i ->

        def dir = "${testDir[i]}"
        def dirName = "${testDirName[i]}"

       dependsOn tasks.create("testZip$c", Zip) {
            from dir
            baseName dirName
            destinationDir(file("$dir"))
        }

        c++
    } }

我找不到解决此问题的方法,请告诉我,如何在doLast{}

中运行 Zip 任务

1 个答案:

答案 0 :(得分:0)

由于在配置阶段完成后试图创建新的任务而引发错误。一些可能的解决方案是:删除doLast()调用,在doLast()之外定义一个zip任务,或将zip逻辑移至方法中。