web-dev-qa-db-ja.com

標準のGradleライフサイクルプラグインを使用する場合、カスタム「クリーン」タスクを宣言することは許可されていません

ライブラリを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
}

This および this これは質問に十分に答えませんでした。

30
Suragch

デフォルトのcleanタスクをオーバーライドしようとするべきではありませんが、代わりに次のような追加のものを削除するように構成します。

clean {
    delete rootProject.buildDir
}

ただし、とにかく、これがクリーンタスクのデフォルトの動作ではないかどうかを最初に確認してください。

または、特定のクリーンアクションを個別に実行できるようにする場合は、別のタスクを定義して、次のような依存関係を追加することもできます。

task customClean(type: Delete) {
    delete rootProject.buildDir
}
clean.dependsOn customClean
32
Vampire

これらの行をコードから削除します。

task clean(type: Delete) {
    delete rootProject.buildDir
}
6

指定されたコードで:

allprojects {
repositories {
    google()
    jcenter()
    mavenCentral()
}

tasks.withType(JavaCompile) {
    sourceCompatibility = "1.8"
    targetCompatibility = "1.8"
}


task clean(type: Delete) {
    delete rootProject.buildDir
}
}

task cleantask deleteに置き換えると動作します:

allprojects {
repositories {
    google()
    jcenter()
    mavenCentral()
}

tasks.withType(JavaCompile) {
    sourceCompatibility = "1.8"
    targetCompatibility = "1.8"
}


task delete(type: Delete) {
    delete rootProject.buildDir`
}
}
3
Laksh

tools> kotlin> configure選択する必要があるプロジェクトでAndroid Gradleグラドルではない

It worked for me

3

残念ながら、私はtask cleanを間違った場所に置いてこの同じ問題を抱えていました。私はこれを持っていました:

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }

    tasks.withType(JavaCompile) {
        sourceCompatibility = "1.8"
        targetCompatibility = "1.8"
    }


    task clean(type: Delete) {
        delete rootProject.buildDir
    }
}

これはこれである必要がありました:

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }

    tasks.withType(JavaCompile) {
        sourceCompatibility = "1.8"
        targetCompatibility = "1.8"
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
2
BlackHatSamurai

非常に多くの調査の後、次のようにbulid.gradle(Project)のクリーンタスクの行にコメントする必要があることがわかりました:

//    task clean(type: Delete) {
//        delete rootProject.buildDir
//    }][1][enter image description here][1]

ヒントについては画像をご覧ください

0
Sahil Choudhary
enter code hereallprojects {
repositories {
    google()
    jcenter()
    maven {
        url 'https://maven.google.com'
    }
}

}

task clean(type: Delete) {
    delete rootProject.buildDir
}

「build.gradle」にmavenを追加した場合は、すべての括弧をチェックアウトしてください。コードは上記のようになります。問題を解決するはずです。ブラケットは異なる場所に配置される可能性があります。

0
dilip sarkar