2017-05-12 10 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 
} 

This और this इस संतोषजनक ढंग से सवाल का जवाब नहीं दिया।

+1

this link देखें। इसमें सबकुछ समझाया गया है। यकीन है कि यह मदद करेगा! –

उत्तर

14

आप डिफ़ॉल्ट clean कार्य ओवरराइड करने के लिए कोशिश नहीं करनी चाहिए, लेकिन इसके बजाय यह कैसा

clean { 
    delete rootProject.buildDir 
} 

अतिरिक्त सामान को नष्ट लेकिन पहले यह देखना होगा कि इस स्वच्छ कार्य के डिफ़ॉल्ट व्यवहार को वैसे भी नहीं है करने के लिए कॉन्फ़िगर करें।

वैकल्पिक रूप से, अगर आप व्यक्तिगत रूप से एक विशिष्ट स्वच्छ कार्रवाई करने के लिए सक्षम होना चाहता हूँ, तुम भी एक अलग कार्य को परिभाषित करने और

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

मुझे एक ही समस्या है और मैंने कुछ भी ओवरराइड करने की कोशिश नहीं की। यह एंड्रॉइड स्टूडियो द्वारा उत्पन्न ग्रैडल स्क्रिप्ट में है। –

+0

मेरा उत्तर कम मान्य नहीं बनाता है। जेनरेट की गई स्क्रिप्ट को वैध होने के लिए बदलें और एएस बग ट्रैकर को शिकायत करें। – Vampire

2

उपकरण की तरह एक निर्भरता जोड़ सकते हैं> kotlin> कॉन्फ़िगर परियोजना आप मेंएंड्रॉयड Gradle चयन करने के लिए Gradle नहीं

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 धन्यवाद था। मुझे इसके पीछे तर्क नहीं मिल रहा है। क्योंकि जब मैं कोटलिन जोड़ता था तो स्वचालित रूप से धीरे-धीरे फ़ाइल में जोड़ता था। कृपया मुझे – Peter

संबंधित मुद्दे