Ich füge eine Bibliothek zu jCenter hinzu, damit ich einige Plugins zur build.gradle-Datei meines Projekts hinzufügen muss. Ich bekomme jedoch den Fehler
Das Deklarieren von benutzerdefinierten "Clean" -Aufgaben bei Verwendung der standardmäßigen Lebenszyklus-Plugins von Gradle ist nicht zulässig.
Ich kann den task clean
-Block sehen und wenn ich ihn lösche, geht der Fehler weg. Ich gehe davon aus, dass dies alles ist, was ich tun muss. Wenn ich die Plugins irgendwann entferne und vergesse, den clean
-Block wieder hinzuzufügen, welche schlimmen Konsequenzen sind dann zu erwarten?
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
}
Dies und das hat die Frage nicht zufriedenstellend beantwortet.
Sie sollten nicht versuchen, die Standardaufgabe clean
zu überschreiben, sondern sie so konfigurieren, dass zusätzliche Elemente wie gelöscht werden
clean {
delete rootProject.buildDir
}
Prüfen Sie jedoch zuerst, ob dies ohnehin nicht das Standardverhalten der Bereinigungsaufgabe ist.
Wenn Sie eine bestimmte Bereinigungsaktion einzeln ausführen möchten, können Sie alternativ auch eine separate Aufgabe definieren und eine ähnliche Abhängigkeit hinzufügen
task customClean(type: Delete) {
delete rootProject.buildDir
}
clean.dependsOn customClean
Entfernen Sie diese Zeilen aus Ihrem Code.
task clean(type: Delete) {
delete rootProject.buildDir
}
Im angegebenen Code:
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
tasks.withType(JavaCompile) {
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
}
task clean(type: Delete) {
delete rootProject.buildDir
}
}
ersetzen Sie task clean
durch task delete
, dann funktioniert es:
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
tasks.withType(JavaCompile) {
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
}
task delete(type: Delete) {
delete rootProject.buildDir`
}
}
Ich hatte das gleiche Problem, leider habe ich den task clean
an die falsche Stelle gestellt. Ich hatte folgendes:
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
tasks.withType(JavaCompile) {
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
}
task clean(type: Delete) {
delete rootProject.buildDir
}
}
Was musste das sein:
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
tasks.withType(JavaCompile) {
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Nach so vielen Nachforschungen habe ich festgestellt, dass wir die Zeile der sauberen Aufgabe in bulid.gradle (Project) wie folgt kommentieren müssen:
// task clean(type: Delete) {
// delete rootProject.buildDir
// }][1][enter image description here][1]
enter code hereallprojects {
repositories {
google()
jcenter()
maven {
url 'https://maven.google.com'
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
wenn Sie in Ihrem "build.gradle" maven hinzugefügt haben, checken Sie alle Klammern aus. Der Code sollte wie oben sein. Es sollte das Problem lösen. Es ist möglich, dass Klammern an verschiedenen Stellen platziert werden.