2017-05-12 17 views
14

我正在向jCenter添加一個庫,因此我需要將一些插件添加到我的項目的build.gradle文件中。不過,我得到錯誤當使用標準的Gradle生命週期插件時,聲明自定義的「乾淨」任務是不允許的

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

我可以看到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 
} 

Thisthis這並沒有令人滿意的回答這個問題。

+1

結賬this link。一切都在其中解釋。當然這會有所幫助! –

回答

14

你不應該試圖覆蓋默認clean任務,而是將其配置爲刪除其他東西一樣

clean { 
    delete rootProject.buildDir 
} 

但首先檢查是否是不乾淨的任務的默認行爲反正。

另外,如果你想成爲能夠單獨做了具體的清潔效果,也可以定義一個單獨的任務,並添加像

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

我有同樣的問題,我沒有嘗試覆蓋任何東西。它位於Android Studio生成的Gradle腳本中。 –

+0

不會使我的答案無效。將生成的腳本更改爲有效並投訴到AS錯誤跟蹤器。 – Vampire

2

工具的依賴>科特林>配置你的項目選擇Android的搖籃不搖籃

It worked for me

+0

我不明白。這與自定義清理任務有什麼關係? – Suragch

+0

你是否得到這個錯誤:錯誤:(24,0)不允許使用標準的Gradle生命週期插件聲明自定義的'乾淨'任務。 –

+0

我得到了上述錯誤,當我配置項目與Gradle kotlin,當我用Gradle與Android編譯時,我沒有得到那個錯誤 –

3

從代碼中刪除這些行。

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

爲什麼那裏擺在首位?刪除它有沒有任何負面影響? – Suragch

+0

在我的情況下沒有發生負面影響 –

+1

謝謝@ ChaudharyNouman。我沒有得到這背後的邏輯。因爲當我用於添加kotlin然後自動添加gradle文件。請讓我知道 – Peter

相關問題