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