Объявление пользовательской "чистой" задачи при использовании стандартных плагинов жизненного цикла 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
}

Это и это, это не удовлетворительно ответили на вопрос.

Ответ 1

Не следует пытаться переопределить задание по умолчанию clean, но вместо этого настроить его для удаления дополнительных файлов, таких как

clean {
    delete rootProject.buildDir
}

Но сначала проверьте, не является ли это поведением чистой задачи по умолчанию.

В качестве альтернативы, если вы хотите иметь возможность выполнять отдельное чистое действие индивидуально, вы также можете определить отдельную задачу и добавить зависимость, например

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

Ответ 2

Удалите эти строки из своего кода.

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

Ответ 3

tools > kotlin > configure в проекте вам нужно выбрать Android Gradle не Gradle

Это сработало для меня

Ответ 4

У меня была эта же проблема, к сожалению, для меня я поставил 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
}

Ответ 5

В приведенном коде:

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

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


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

замените task clean на task delete тогда она будет работать:

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

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


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

Ответ 6

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

}

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

если вы добавили maven в свой build.gradle, тогда проверьте все скобки. Код должен быть таким, как указано выше. Это должно решить проблему. Возможно, что скобки размещены в разных местах.

Ответ 7

После стольких исследований я обнаружил, что нам нужно просто прокомментировать строку чистой задачи в bulid.gradle(Project), как показано ниже:

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

Смотрите изображение для подсказки

Ответ 8

Я делаю проект на день рождения песни с именем.... с использованием преобразования текста в речь.... так как я могу объединить строку с mp3 песни??

Ответ 9

6м Хорошо, я получаю сообщение об ошибке в Gradle, что он не может очистить файл проекта root.

: 25 AM Gradle не удалось выполнить синхронизацию: объявление пользовательской "чистой" задачи при использовании стандартных плагинов жизненного цикла Gradle не разрешено.

код ошибки info-ide.actionsShowFilePathAction Код выхода 1

Чистые триггеры nom run clean dependsOn "npmInstall"

В документе Gradle doc 4.7 Проект в каталоге, в котором выполняется сборка, также настроен, но только тогда, когда Gradle выполняется без каких-либо задач. Таким образом, задачи по умолчанию ведут себя правильно, когда проекты настроены по требованию.

Конфигурация по требованию Gradle 4.6 Android-плагин для Gradle 3.01 или 3.1.0 с Gradle Файл свойств Gradle org.gradleconfigureondemand = ложь

Так что я сделал, чтобы прокомментировать задачу чистым, и теперь я получаю сборку этих слов,

Я думаю, что произошло то, что этот script работает, если вы создали и модифицировали проект. Когда вы загружаете проект, вы его не создали в первый раз. Поэтому нет пути корневого проекта для очистки, поскольку он еще не построен. Это приводит к сбою. Комментируя это в первый раз, вы не получите ошибку.

Вот код. // Файл сборки верхнего уровня, где вы можете добавить параметры конфигурации, общие для всех подпроектов/модулей.

`buildscript {        ext.kotlin_version = '1.2.41

     ext.support_version = '26.1.0'

repositories {
    google()
    jcenter()
}

dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: ‘kotlin’

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

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

} */

'