不允许在使用标准Gradle生命周期插件时声明自定义"干净"任务

Sur*_*gch 30 plugins gradle android-studio

我正在向jCenter添加一个库,所以我需要在项目的build.gradle文件中添加一些插件.但是,我收到了错误

不允许在使用标准Gradle生命周期插件时声明自定义"干净"任务.

我可以看到task clean块,当我删除它时,错误就消失了.我认为这就是我需要做的一切,但它之前是否做过重要的事情?如果我有时删除插件并忘记将clean块重新添加,那么会有什么可怕的后果?

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

plugins {
    id "com.jfrog.bintray" version "1.7.3"
    id "com.github.dcendents.android-maven" version "1.5"
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

并没有令人满意地回答这个问题.

Vam*_*ire 32

您不应该尝试覆盖默认clean任务,而是将其配置为删除其他内容

clean {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

但是首先检查这是否不是清理任务的默认行为.

或者,如果您希望能够单独执行特定的清理操作,还可以定义单独的任务并添加依赖项

task customClean(type: Delete) {
    delete rootProject.buildDir
}
clean.dependsOn customClean
Run Code Online (Sandbox Code Playgroud)

  • 我有同样的问题,我没有试图覆盖任何东西.它位于Android Studio生成的Gradle脚本中. (4认同)

Cha*_*man 6

从代码中删除这些行.

task clean(type: Delete) {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)