2017-05-12 47 views
14

dodaję biblioteką do jCenter tak zrobić, że muszę dodać kilka wtyczek do pliku build.gradle mojego projektu. Jednak jestem coraz BłądDeklarowanie „czyste” zadanie niestandardowe przy użyciu standardowych wtyczek cyklu życia Gradle jest niedozwolone

Declaring custom 'clean' task when using the standard Gradle lifecycle plugins is not allowed.

widzę blok task clean i kiedy go usunąć błąd zniknie. Zakładam, że to wszystko, co muszę zrobić, ale czy wcześniej robił coś ważnego? Jeśli usunąć wtyczki kiedyś i zapomnij dodać blok clean powrotem, co tragiczne konsekwencje są w sklepie?

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 i this to nie zadowalająco odpowiedzieć na pytanie.

+1

Zapoznaj się z this link. Wszystko jest w nim wyjaśnione. Pewnie, że to pomoże! –

Odpowiedz

14

Nie należy próbować zastąpić domyślny clean zadanie, ale zamiast skonfigurować go, aby usunąć dodatkowe rzeczy jak

clean { 
    delete rootProject.buildDir 
} 

Ale najpierw sprawdzić, czy nie jest to domyślne zachowanie czystego zadania tak.

Alternatywnie, jeśli chcesz być w stanie wykonać konkretną czystą akcję indywidualnie, można również zdefiniować oddzielne zadanie i dodać zależność jak

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

mam ten sam problem i nie starają się zastąpić wszystko. Jest w skrypcie Gradle wygenerowanym przez Android Studio. –

+0

Nie czyni mojej odpowiedzi mniej ważną. Zmień wygenerowany skrypt, aby był prawidłowy i zgłoś się do modułu śledzenia błędów AS. – Vampire

2

narzędzi> Kotlin> Konfiguracja w projekcie masz wybierz Android Gradle nie Gradle

It worked for me

+0

Nie rozumiem. Co to ma wspólnego z niestandardowym zadaniem czyszczenia? – Suragch

+0

się masz ten błąd: Błąd: (24, 0) Deklarowanie zwyczaj „czystą” zadanie przy użyciu standardowych wtyczek cyklu życia Gradle jest niedozwolone. –

+0

Mam powyższy błąd, gdy konfiguruję kotlin w projekcie z Gradle i kiedy skompilowałem z Androidem z Gradle, nie otrzymałem tego błędu –

3

Usuń te linie z kodu.

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

Dlaczego nie jest to, że w pierwszej kolejności? Czy usunięcie go ma jakiekolwiek negatywne skutki uboczne? – Suragch

+0

w moim przypadku nie było negatywny efekt występuje –

+1

Dziękujemy @ ChaudharyNouman. Nie mam logiki za tym. ponieważ kiedy dodawałem kotlin, automatycznie dodawałem plik gradle. Proszę dać mi znać: – Peter