एंड्रॉइड स्टूडियो बिल्ड "टास्क 'के साथ विफल रहता है जो रूट प्रोजेक्ट' MyProject 'में नहीं मिला है।"


89

लैपटॉप बदलने और एंड्रॉइड स्टूडियो संस्करण 0.8.2 में अपडेट करने के बाद अपनी परियोजना के निर्माण की कोशिश करते समय मुझे यह त्रुटि मिलती है।

विफलता: बिल्ड अपवाद के साथ विफल हुआ।

  • क्या गलत हुआ: टास्क '' रूट प्रोजेक्ट 'MyProject' में नहीं मिला।

  • कोशिश करें: उपलब्ध कार्यों की एक सूची प्राप्त करने के लिए ग्रेडेल कार्यों को चलाएं। स्टैक ट्रेस प्राप्त करने के लिए --stacktrace विकल्प के साथ चलाएँ। अधिक लॉग आउटपुट प्राप्त करने के लिए --info या --debug विकल्प के साथ चलाएँ।

निर्माण विफल

यहाँ मेरे ग्रेड फ़ाइल हैं:

शीर्ष स्तर सेटिंग्स। क्रम

include ':MyProject'

निर्माण। MyProject में:

apply plugin: 'com.android.application'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:0.12.+"
    }
}
repositories {
    mavenCentral()
}

android {
    compileSdkVersion 20
    buildToolsVersion "20"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 20
    }
}

dependencies {
    compile 'de.timroes.android:EnhancedListView:0.3.0@aar'
    compile 'com.nineoldandroids:library:2.4.0'
}

शीर्ष स्तर का बिल्ड.ग्रेड खाली है


आप क्या सही कमांड चला रहे हैं?
ओपल

मैं सिर्फ साफ करने के लिए कोशिश कर रहा हूँ @Opal और पुनर्निर्माण
TomRichardson

अछा ठीक है। आप किस आदेश पर अमल करते हैं?
ओपल

8
Android Studio को बंद करने और फिर से खोलने का प्रयास करें। इसने मेरे लिए काम किया।
पेट

2
इन कई में से कोई जवाब नहीं चुना गया ??? कम से कम अपना जवाब तो पोस्ट करें, इससे दूसरों को भी मदद मिलेगी।
kAmol

जवाबों:


63

हालांकि उत्तर देने में देर हो गई, यह Google (एकल उद्धरण) के लिए एक कठिन है और यह स्पष्ट नहीं है कि क्या हो रहा है। मेरे पास अभी तक टिप्पणी करने या स्कोप (या 3 लिंक पोस्ट) करने के लिए प्रतिष्ठा नहीं है, इसलिए यह उत्तर थोड़ा थकाऊ हो सकता है।

तेजी से उत्तर देने के लिए, आपके पास अपने प्रोजेक्ट में एकाधिक ग्रेडल प्लग इन हो सकते हैं।

ग्रेडल रैपर और प्लगइन्स को सिंक्रोनाइज़ करें

मेरा मुद्दा एक भ्रष्ट IML फ़ाइल के साथ शुरू होता है। Android Studio (किसी प्रोजेक्ट को बंद करने और फिर से खोलने के बीच) शिकायत करने लगा कि एक IML चला गया है (यह नहीं था) और एक मॉड्यूल को हटा दिया जाना चाहिए, जिसे मैंने अस्वीकार कर दिया। यह जारी रहा, मैं 0.8.7 (कैनरी चैनल) में अपग्रेड हुआ और ओपी मुद्दे (टास्क '' रूट प्रोजेक्ट में नहीं मिला) पर अटक गया। यह पूरी तरह से अवरुद्ध बनाता है इसलिए मुझे ग्रैडल में खुदाई करनी पड़ी।

OSX पर मेरी मरम्मत के कदम (कृपया विंडोज़ के लिए समायोजित करें):

  1. एंड्रॉइड स्टूडियो को 0.8.7 पर अपग्रेड करें
    • प्राथमिकताएँ | अपडेट | "बीटा चैनल" को "कैनरी चैनल" पर स्विच करें, फिर एक चेक नाउ करें।
    • आप इसे छोड़ सकते हैं।
  2. ग्रेडल रैपर की जाँच की गई (वर्तमान में 1.12.2; इस समय 2.0 का उपयोग करने की कोशिश न करें)।

    • यह मानते हुए कि आपको किसी विशेष संस्करण की आवश्यकता नहीं है, नवीनतम समर्थित वितरण का उपयोग करें

      $ vi ~/project/gradle-wrapper.properties ... distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip

    • यह Preferences में Android Studio में सेट किया जा सकता है | ग्रेडल (लेकिन 0.8.7 मुझे 'अमान्य स्थान' त्रुटियां दे रहा था)।

    • 'रैपर' प्रत्येक एंड्रॉइड स्टूडियो प्रोजेक्ट के लिए ग्रेडेल की एक प्रति है। यह आपको अपने ओएस में ग्रैडल 2, और अपनी परियोजनाओं में विभिन्न संस्करणों की अनुमति देता है। Android डेवलपर डॉक्स यहां समझाते हैं
    • फिर प्लगइन के लिए अपनी build.gradle फ़ाइलों को समायोजित करें । ग्रैडल प्लगइन संस्करण पूरे प्रोजेक्ट के लिए वितरण / आवरण संस्करण के साथ संगत होना चाहिए। चूंकि टूल डॉक्यूमेंटेशन (tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements) थोड़ा पुराना है, आप प्लगइन संस्करण को बहुत कम सेट कर सकते हैं (जैसे 0.8.0) एंड्रॉइड स्टूडियो रैपर के लिए स्वीकार्य सीमा के साथ एक त्रुटि फेंक देगा।

उदाहरण में, build.gradle में, आपके पास यह प्लगइन है:

dependencies {
    classpath "com.android.tools.build:gradle:0.12.+"
}

आप इसे इस तरह सटीक संस्करण में बदलने का प्रयास कर सकते हैं:

dependencies {
    classpath "com.android.tools.build:gradle:0.12.2"
}

और (प्रत्येक मामले में आप किस संस्करण से बदल रहे हैं, यह रिकॉर्ड करने के बाद) सत्यापित करें कि आपके प्रोजेक्ट की प्रत्येक बिल्ड.ग्रेड फ़ाइल उसी प्लगइन संस्करण में खींचती है। "+" को काम करना चाहिए (0.12.0, 0.12.1, 0.12.2, आदि के लिए), लेकिन मेरा निर्माण तब सफल हुआ जब मैंने Google की वॉली लाइब्रेरी (मूल रूप से ढाल: 0.8 +) और मेरे मुख्य प्रोजेक्ट (मूल रूप से 0.12) को अपडेट किया। +) निश्चित संस्करण के लिए: ढाल: 0.12.2।

अन्य जाँच

  1. सुनिश्चित करें कि आपके पास एक ही प्रोजेक्ट में दो Android एप्लिकेशन मॉड्यूल नहीं हैं

    • यह अंतिम समाधान (विभिन्न ग्रेड संस्करण, ऊपर), और कारण के साथ बातचीत कर सकता है

      UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define (various classes)

    • जांच करने के लिए, बिल्ड | Make Project को एक विंडो पॉप अप नहीं करना चाहिए, जिससे पूछा जाए कि आप क्या एप्लिकेशन बनाना चाहते हैं।

  2. अपने कैश को अमान्य करें
    • फ़ाइल | अमान्य कैश / पुनः आरंभ करें (stackoverflow.com/a/19223269/513413)
  3. यदि चरण 2 काम नहीं करता है, तो ~ / .gradle / (www.wuttech.com/index.php/tag/groovy-lang-closure/) हटाएं
    • Android Studio से बाहर निकलें
    • $ rm -rf ~ / .gradle /
    • Android Studio प्रारंभ करें, फिर सिंक करें:
      • उपकरण | Android | ग्रैडल फाइलों के साथ सिंक प्रोजेक्ट
    • इस पूरे अनुक्रम को छोड़ दें (छोड़ दें ... सिंक) देने से पहले कुछ बार।
  4. प्रोजेक्ट को साफ करें
    • निर्माण | स्वच्छ परियोजना

यदि आप इसे देखें ...

अपने हाल के बिल्डरों में, मैं भयानक विफलताओं (अपवादों के पृष्ठ) को देखता रहा, लेकिन सेकंड के भीतर संदेश स्पष्ट हो जाते थे, बिल्ड सफल हो जाता था और ऐप तैनात हो जाता था। चूंकि मैं इसे कभी समझा नहीं सका और ऐप ने काम किया, इसलिए मैंने कभी नहीं देखा कि मेरे प्रोजेक्ट में दो ग्रैगल प्लग हैं। तो मुझे लगता है कि ग्रेडल प्लगइन्स एक-दूसरे से लड़े थे; एक दुर्घटनाग्रस्त हो गया, दूसरे ने अपना राज्य खो दिया और त्रुटि की सूचना दी।

यदि आपके पास समय है, तो 1-घंटे का वीडियो "ए जेंटल इंट्रोडक्शन टू ग्रैडल" (www.youtube.com/watch?v=OFUEb7pLLXw) ने ग्रैड बिल्ड फाइल, टास्क, निर्णय लेने, निर्णय लेने आदि के लिए वास्तव में मेरी मदद की।

अस्वीकरण

मैं इस पूरे स्टैक को विदेशी ओएस पर सीख रहा हूं, एक अलग करियर बनाने के बाद ... सभी एक ही समय में और दबाव में। पिछले कुछ महीनों में मुझे लगता है कि हर दीवार पर मुझे लगता है कि एंड्रॉइड है; मैं यहां काफी बार आया हूं और यह मेरी पहली पोस्ट है। मुझे लगा कि यह एक कठिन फिक्स था, इसलिए मैं ईमानदारी से माफी मांगता हूं अगर मेरे उत्तर की गुणवत्ता उस कठिनाई को दर्शाती है जो मुझे इसे प्राप्त करने में थी।


शानदार जवाब, माफी माँगने के लिए कुछ नहीं और YouTube लिंक के लिए धन्यवाद
सबुनकु

इसके लिए धन्यवाद। चरण 3 "अन्य चेकों" में मेरे लिए क्या किया गया था:$ rm -rf ~/.gradle/
स्ट्रिंग

24

आपके द्वारा आयात किए गए प्रोजेक्ट के लिए sdk प्रबंधक से सिस्टम छवि (अपनी परियोजना के लक्षित Android स्तर का) डाउनलोड करें।

यह त्रुटि तब आती है जब आपके पास sdk फ़ोल्डर में स्थापित आपके एंड्रॉइड प्रोजेक्ट का लक्ष्य एसडीके नहीं होता है

उदाहरण के लिए। आपकी आयातित परियोजना का लक्ष्य sdk स्तर android-19 हो सकता है और sdk फ़ोल्डर-> सिस्टम-चित्र पर आपके पास android-21 स्थापित हो सकता है। इसलिए आपको sdk manager से android-19 सिस्टम इमेज और अन्य फाइल्स को डाउनलोड करना होगा या सिस्टम इमेज होने पर आप इसे कॉपी पेस्ट कर सकते हैं।


1
इसने मेरे लिए इसे ठीक किया - मैंने एएस में एक पीले रंग की चेतावनी 'ग्रैडल प्रोजेक्ट सिंक विफल रहा है' को भी देखा, जब मैंने संदेश विंडो में देखा, तो इसमें कुछ क्लिकों के साथ लापता लक्ष्य एसडीके को स्थापित करने के लिए हाइपरलिंक शामिल था।
श्री जंगल

13

हटाना:

<facet type="android" name="Android">
    <configuration />
</facet>

अपनी iml फ़ाइल में। ये मेरे लिए सही है।

https://plus.google.com/+AlexRuiz/posts/49hP3V9GSGe


यह ग्रैडल परियोजना पर लागू नहीं है, क्या यह है? मेरी परियोजना<facet type="java-gradle" name="Java-Gradle">...
Xml

9

यह हाल ही में मेरे साथ हुआ जब मैंने एक एंड्रॉइड स्टूडियो परियोजना को बंद कर दिया और एक और ग्रहण परियोजना को आयात किया। यह एंड्रॉइड स्टूडियो में कुछ बग लग रहा था जहां यह पहले खुली परियोजना से कुछ ग्रेडेल सेटिंग्स को संरक्षित करता है और फिर नई परियोजना में भ्रमित हो जाता है।

समाधान बेहद सरल था: परियोजना को बंद करें और इसे फिर से खोलने से पहले और फिर नई परियोजना को आयात / खोलने के लिए, एंड्रॉइड स्टूडियो को पूरी तरह से बंद कर दें। सब कुछ तब से सुचारू रूप से चला जाता है।


4

मेरे लिए सिंपल फिक्स था

  1. बिल्ड> क्लीन प्रोजेक्ट
  2. Android Studio को पुनरारंभ करें

3

मेरे मामले में, फ़ाइल-> प्रोजेक्ट स्ट्रक्चर-> प्रोजेक्ट के तहत 'ग्रैडल वर्जन' को 'एंड्रॉइड प्लगिन वर्जन' के समान सेट करना मेरे लिए समस्या तय कर दिया।


3

जाहिरा तौर पर इस त्रुटि के कई कारण हैं। यहाँ मेरे लिए यह तय है।

मैं इस तरह बिल्ड कमांड चला रहा था:

./gradlew :testapp: build

अंतरिक्ष के बिना इसे चलाने से समस्या तय हो गई:

./gradlew :testapp:build

3

मुझे यह त्रुटि तब मिली जब एक Git शाखा से दूसरे में स्विच किया गया, और फिर "क्लीन प्रोजेक्ट" चलाने की कोशिश की गई। मैं ackटास्क नाम खोजता था, और इसे एक .iml फ़ाइल में पाया।

मेरा समाधान परियोजना की .iml फ़ाइल (मुख्य मेनू में) टूल्स> एंड्रॉइड> सिंक प्रोजेक्ट विथ ग्रैड फाइल्स पर क्लिक करके पुनर्जीवित करना था ( इस जवाब के लिए धन्यवाद ।)


2

कभी-कभी, यदि आपने एंड्रॉइड स्टूडियो की दो खिड़कियां खोली हैं, और जब आप संकलन करने का प्रयास करते हैं, तो यह समस्या हो सकती है। मेरे लिए, जब मैं एक समर्थित Google क्लाउड एंडपॉइंट मॉड्यूल का संकलन कर रहा था, जो एक प्रोजेक्ट में एम्बेड नहीं किया गया था, बल्कि विभिन्न एंड्रॉइड स्टूडियो प्रोजेक्ट्स के बीच साझा किया गया था, और जब एक से अधिक बार खुले होते हैं, तो यह त्रुटि मेरे लिए वसंत में उपयोग करती है। लेकिन जैसे ही आप अन्य खिड़कियां बंद करते हैं, सब कुछ ठीक हो जाएगा। कभी-कभी, आपको एंड्रॉइड स्टूडियो को पूरी तरह से पुनरारंभ करना पड़ सकता है।


2

मुझे यह समस्या मिली क्योंकि यह Android SDK पथ नहीं खोज सका। मैं local.propertiesइसके साथ एक फ़ाइल या इसके साथ एक ANDROID_HOMEपर्यावरण चर याद कर रहा था ।


अच्छा आदमी, यहाँ भी वही बात है। ANDROID_SDK को मेरी ~ / .bash_profile में जोड़ा और यह काम किया
गैरी ओ 'डोनॉग्यू

1

सुनिश्चित करें कि आपके पास अपनी श्रेणी फ़ाइलों में नवीनतम मान हैं। इस लेखन के रूप में:

  • buildToolsVersion "21.1.2"

  • निर्भरताएँ {classpath 'com.android.tools.build:gradle:1.1.0'}


1

फिर भी इसी समस्या का एक और समाधान:

हर बार मेरे साथ ऐसा हुआ जब मैंने विज़ार्ड के उपयोग से स्टूडियो में एक ग्रहण परियोजना का आयात किया (स्टूडियो संस्करण 1.3.2)।

मुझे जो मिला, काफी संयोग से, वह था कि एंड्रॉइड स्टूडियो से बाहर निकलना और फिर स्टूडियो को फिर से शुरू करने से समस्या दूर हो गई।

निराशा होती है, लेकिन आशा है कि यह किसी को मदद करता है ...


1
  1. ओपन कमांड प्रॉम्प्ट
  2. उसके बाद कमांड प्रॉम्प्ट के माध्यम से अपने प्रोजेक्ट फोल्डर पर जाएं
  3. टाइप करें gradlew बिल्ड और रन

1

संकट

मुझे विशेष रूप से "[module_name]:prepareDebugUnitTestDependencies" task not foundत्रुटि मिली , हर बार जब मैं ग्रेडेल बिल्ड करता था। यह मेरे Android Studio को 3.0.0 में अपडेट करने के बाद हुआ।

जाँच पड़ताल

मैंने पहले ग्रेड-आधारित कंपाइलर में कमांड-लाइन विकल्प जोड़ा था, जिसे आप नीचे पा सकते हैं: फ़ाइल -> सेटिंग्स -> बिल्ड, निष्पादन, तैनाती -> कंपाइलर -> कमांड-लाइन विकल्प । विशेष रूप से, मैंने उपरोक्त कार्यों सहित कई कार्यों को शामिल नहीं किया था। जबकि पिछले स्थिर संस्करण (उस समय 2.3) पर यह ठीक काम कर रहा था, ऐसा लगता है कि यह बिल्ड विफलता के पीछे का कारण था।

उपाय

यह कई संभावित समाधानों में से एक है। सुनिश्चित करें कि आपके पास सेटिंग्स में निर्दिष्ट सही कमांड-लाइन विकल्प हैं: फ़ाइल -> सेटिंग्स -> बिल्ड, निष्पादन, तैनाती -> कंपाइलर -> कमांड-लाइन विकल्प , और उनमें से कोई भी यह समस्या पैदा नहीं कर रहा है।

मेरे मामले में, मैंने इस कार्य (और संबंधित कार्य जो संबंधित लग रहे थे) के बहिष्करण को हटा दिया, असंबंधित कार्यों को छोड़ दिया और यह काम कर गया!


0

रूट फ़ोल्डर का पथ सेट करें और नीचे कमांड चलाएँ

ex : cd C:\Users\maha\Documents\gradle\gs-gradle-master\initial


0

मैं एंड्रॉइड स्टूडियो को .gradleफ़ोल्डर में c:\users\Myuser\.gradleफिर से शुरू / रीनेम करता हूं और मेरे लिए काम करता हूं


0

जाहिरा तौर पर यह मुद्दा विभिन्न परिस्थितियों पर एंड्रॉइड स्टूडियो के कारण होता है लेकिन इसका कारण एंड्रॉइड स्टूडियो में मौजूदा प्रोजेक्ट को आयात करते समय त्रुटि का निर्माण होता है

मेरे मामले में, मैंने अपनी मौजूद परियोजना को आयात किया है जहां मुझे कुछ बिल्ड टूल स्थापित करने थे, फिर आखिरकार कॉन्फ़िगरेशन त्रुटि के साथ किया गया था। इस मामले में, बस निम्नलिखित बातें करें

  1. वर्तमान परियोजना को बंद करें
  2. फ़ाइल> नया> आयात परियोजना (खुले हाल के प्रोजेक्ट का उपयोग न करें)

    नोट: मुझे यकीन है कि आयात परियोजना के दौरान इस तरह की त्रुटि स्रोत कोड पर नहीं है ।

0

मेरे मामले में, मैं इस समस्या को पूरा करता हूं जो एंड्रॉइड स्टूडियो में विकल्प संकलित करता है "स्टैकट्रेस।" संशोधित स्टैकट्रेस को --stacktrace , समस्या हल हो।

यहां छवि विवरण दर्ज करें


0

मैंने इस समस्या को हल कर दिया है आपको बस Android फ़ोल्डर में फ़ाइल बनाने की आवश्यकता है

Android फ़ोल्डर पर जाएं

स्थानीय फ़ाइल बनाएँ

तो बस इस कोड को local.properties फ़ाइल में जोड़ें: -

यदि आप मैकबुक का उपयोग कर रहे हैं तो sdk.dir = / Users / USERNAME / लाइब्रेरी / android / sdk

यदि आप Windows का उपयोग कर रहे हैं तो sdk.dir = C: \ Users \ USERNAME \ AppData \ Local \ Android \ sdk

यदि आप लिनक्स का उपयोग कर रहे हैं तो sdk.dir = / home / USERNAME / Android / sdk

यदि आप जानना चाहते हैं कि आपका सिस्टम USERNAME क्या है, तो Mac whoami के लिए केवल कमांड का उपयोग करें

और फिर बस फिर से चलाएँ कमांड-देशी रन-एंड्रॉइड

धन्यवाद :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.