बाहरी JAR पर "दलविक प्रारूप में रूपांतरण त्रुटि 1 के साथ विफल"


908

ग्रहण में मेरे एंड्रॉइड एप्लिकेशन में मुझे निम्न त्रुटि मिलती है।

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: पहले से जोड़ा गया: Lorg / xmlpull / v1 / XmlPullParser;
....
Dalvik प्रारूप में रूपांतरण त्रुटि 1 के साथ विफल रहा

यह त्रुटि केवल तब दिखाई देती है जब मैं अपनी परियोजना में एक विशिष्ट बाहरी JAR फ़ाइल जोड़ता हूं। मैंने संभावित समाधान के लिए लंबे समय तक खोज की, लेकिन संभव समाधानों में से कोई भी काम नहीं करता है।

मैंने 1.5 के बजाय एंड्रॉइड 1.6 में बदलने की कोशिश की (वर्तमान संस्करण जो मैं उपयोग करता हूं)।


यह acticle आप मामले में इस त्रुटि को ठीक करने के लिए है कि आप अपने कार्यक्षेत्र में पुस्तकालय परियोजना का उपयोग करने में मदद कर सकते हैं।
गुयेन मिनह बिनह

4
मैंने यह कोशिश की और इसने वही त्रुटि दी। मैंने अंततः इसे गुण-> JavaBuildPath-> परियोजनाओं में पुस्तकालय जोड़कर तय किया और वहां पुस्तकालय को जोड़ दिया। इसका "बिल्ड पथ पर आवश्यक वस्तुओं:" कहा जाता है।

27
यह समस्या मेरे लिए क्रूर हो गई है। Android कोडिंग को छोड़ देना लगभग पर्याप्त है। मेरे लिए कोई भी समाधान काम नहीं करता है। मुझे बस लगातार Dalvik त्रुटि 1 के साथ असफल निर्यात करने की कोशिश करनी होगी और आखिरकार यह सफल होगा। रिलीज़ बिल्ड बनाने में 15-30 मिनट लगते हैं। यह एक पूर्ण आपदा है।
एंथनी

यदि आप एक फ़ाइल साझा सॉफ़्टवेयर के साथ एक कार्यक्षेत्र पर दो कंप्यूटरों का उपयोग करते हैं, तो यह कभी-कभी कार्यक्षेत्र-> प्रोजेक्ट-> बिन-> कॉम फ़ोल्डर को कॉम 1, कॉम 2 के रूप में डुप्लिकेट करता है। बस 1 या 2 के साथ सब कुछ हटा दें, अपने प्रोजेक्ट को साफ करें और आप तैयार हैं जाना।
ओज़ान आत्मार जूल

जवाबों:


826

प्रोजेक्ट »प्रॉपर्टीज» जावा बिल्ड पाथ »लाइब्रेरीज पर जाएं और" एंड्रॉइड XY "(मेरे मामले में एंड्रॉइड 1.5) को छोड़कर सभी को हटा दें। ओके पर क्लिक करें। प्रोजेक्ट पर जाएं »स्वच्छ» नीचे चयनित स्वच्छ परियोजनाएं »अपनी परियोजना का चयन करें और ठीक पर क्लिक करें। वह काम करना चाहिए।

यह भी संभव है कि आपके पास अपने प्रोजेक्ट फोल्डर में एक JAR फाइल कहीं स्थित हो (मैंने Admob JAR फाइल को अपने src फोल्डर में कॉपी कर लिया था) और फिर इसे जावा पथ लाइब्रेरी के रूप में जोड़ा। यह पैकेज एक्सप्लोरर के तहत दिखाई नहीं देता है, इसलिए आप इसे नोटिस नहीं करते हैं, लेकिन यह दो बार गिना जाता है, जिससे खूंखार दलित गलती 1 हो जाती है।

एक और संभावित कारण पैकेज नाम संघर्ष हो सकता है। मान लीजिए कि आपके पास एक पैकेज com.abc.xyzऔर A.javaइस पैकेज के अंदर एक वर्ग का नाम है, और एक अन्य पुस्तकालय परियोजना (जिसे इस परियोजना की निर्भरता में जोड़ा गया है) जिसमें समान है com.abc.xyz.A.java, तो आपको सटीक वही त्रुटि मिलेगी। इसका मतलब है, आपके पास एक ही फ़ाइल के कई संदर्भ हैं A.javaऔर इसे ठीक से नहीं बना सकते हैं।

अन्य तरीकों से यह तब हो सकता है यदि आप गलती से या जानबूझकर क्लास पाथ फाइल में किसी चीज को एडिट / एड करते हैं। कुछ मामलों में हम java doc जेनरेट करने के लिए classpath फाइल में android.jar पाथ को मैन्युअल रूप से जोड़ सकते हैं। javococ के बाद उसको हटा देना। कोड ठीक काम करेगा। कृपया यह भी जाँच करें कि क्या कोई भी होता है।


4
मेरे पास एक ही मुद्दा था और उपर्युक्त चरणों के लिए user408841 ने मेरे लिए काम किया।
अरुणाभ दास

112
नमस्ते। यह मेरे लिए सिर्फ "प्रोजेक्ट» क्लीन »क्लीन» नीचे चयनित प्रोजेक्ट्स »पर जाकर अपना प्रोजेक्ट चुनें और ओके पर क्लिक करें।" पहली बार नजरअंदाज करना
कुरु

79
मैं इस समाधान के साथ काफी भ्रमित हूं। यदि आप सभी जार फ़ाइलों और पुस्तकालयों को हटाते हैं, तो आप प्रोजेक्ट को सफलतापूर्वक कैसे संकलित करने जा रहे हैं?
चोक यान चेंग

3
मैंने पाया कि मेरे लिए यह काम करने का एकमात्र तरीका सभी परियोजनाओं को साफ करना था! विशेष रूप से लोगों कि अपमानजनक परियोजना पर निर्भर करता है।
रॉय हिंक्ले जुले

7
मैं .NET से आने वाले Android विकास के लिए नया हूं, और ईमानदार होना यह त्रुटि इसके साथ मेरे अनुभव को प्रमाणित करती है। गंभीरता से ... आप उस त्रुटि संदेश के साथ क्या करना चाहते हैं? यह पूरी तरह से अर्थहीन है। 'Dalvik' ?? तुम क्या?? मुझे दृश्य स्टूडियो में वापस लाएं: पी
डेविड मास्टर्स

271

मैंने समस्या हल कर दी।

यह एक JAR फ़ाइल विरोध है।

ऐसा लगता है कि मेरे बिल्ड पर दो JAR फाइलें हैं जिनमें समान पैकेज और कक्षाएं शामिल हैं।

smack.jar तथा android_maps_lib-1.0.2

इस पैकेज को JAR फ़ाइलों में से एक को हटाने से समस्या हल हो गई।


18
+1 - संक्षेप में, यह एक JAR फ़ाइल संघर्ष है। विशेष रूप से, यह किसी भी दो JAR फ़ाइलों में एक संघर्ष हो सकता है । मेरे मामले में, संघर्ष जैक्सन-ऑल-1.7.4.jar, जैकसन-कोर-एसएल -1.5.4.जर और जैकसन-मैपर-एसएल 1.5.4.jar के बीच था। मैंने दो 1.5.4 JAR निकाले और 1.7.4 को छोड़ दिया।
jmort253

यदि आपके पास अपने स्वयं के प्रोजेक्ट पर जोड़े गए किसी भी लाइब्रेरी प्रोजेक्ट्स में जार हैं, जैसे कि मैंने ScoreloopUIअपने एंडगेलिन गेम में प्रोजेक्ट को कैसे जोड़ा है , तो ये जार आपके साथ हस्तक्षेप भी करते हैं, भले ही वे आपके स्वयं के प्रोजेक्ट पथ पर न हों।
पीकेएन

1
मैंने एंड्रॉइड-एसडीके / प्लेटफ़ॉर्म / एंड्रॉइड -10 / android.jar को मैन्युअल रूप से .classpath में निर्दिष्ट किया था, फिर मैं प्रोजेक्ट गुणों में 2.3.3 (एंड्रॉइड 10) में बदल गया, जो एंड्रॉइड के दोनों संघर्षों का कारण बना। जावा बिल्ड पाथ में अतिरिक्त को हटाने ने चाल
स्टाइलर 1972

2
मेरी तरफ से लड़ाई एक्शनबारलॉक से उत्पन्न हुई जिसमें पहले से ही एंड्रॉइड सपोर्ट पैकेज शामिल है जिसमें दो बार शामिल किया गया था।
टोबियास

बस जानकारी के लिए: मेरे मामले में, असफल होने के कारण, यह था कि अलग-अलग एंड्रॉइड टार्गेट दोनों प्रोजेक्ट में समान नहीं था: android: targetSdkVersion = "xx"
एंड्रियास मैटिसन

126

विंडोज 7 समाधान:

समस्या की पुष्टि ProGuard कमांड लाइन द्वारा फ़ाइल
[Android SDK इंस्टॉलेशन डायरेक्टरी] \ tools \ proguard \ bin \ proguard.bat के कारण होती है

निम्नलिखित पंक्ति को संपादित करने से समस्या हल हो जाएगी:

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*

सेवा

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9

यह मेरे लिए काम नहीं किया, लेकिन मेरे default.properties फ़ाइल से proguard लाइन टिप्पणी करने से त्रुटि दूर हो गई। मेरी समस्या किसी भी तरह से संबंधित होने लगती है। जब परियोजना को निर्यात करने की कोशिश की जा रही थी तो मुझे केवल "दलविक प्रारूप में रूपांतरण त्रुटि 1 के साथ विफल" हो रहा था। कोई विचार?
बेन एच

मैंने ऊपर दिए गए सुझाव को फिर से आजमाया, और अपने LVL लाइब्रेरी प्रोजेक्ट को हटा दिया और फिर से जोड़ दिया, और अब यह काम करता है। निश्चित नहीं है कि वास्तव में इसे क्या तय किया गया है, लेकिन यह काम करता है। सुकर है। मैं इस पर घंटे बर्बाद कर दिया।
बेन एच

विंडोज विस्टा, और यह मेरे लिए काम करता है। मैंने पहले एसडीके के पथ को बदलने की कोशिश की थी ~ 2 को फिर से शुरू करने, प्रोजेक्ट को साफ करने, पुस्तकालयों को हटाने और ठीक करने आदि के लिए ... इसलिए धन्यवाद नूह!
मुद्रा

बहुत बहुत धन्यवाद नूह, यह मेरे लिए भी विंडोज 7 पर काम किया। एडीटी को संस्करण 12 में अपडेट करने के बाद त्रुटि शुरू हुई
केविन

विन्डियूज 7 पर मेरे मुद्दे को हल किया।
poiuytrez

94

आप इस मुद्दे को आसानी से हल कर सकते हैं (ग्रहण एंड्रॉइड डेवलपर टूल्स के साथ, बिल्ड: v22.0.1-685705) मेनू बंद करके "> प्रोजेक्ट"> "स्वचालित रूप से बनाएं" निर्यात करते समय (संयुक्त राष्ट्र) हस्ताक्षरित एंड्रॉइड एप्लिकेशन। उसके बाद, इसे फिर से चालू करना न भूलें।


2
इससे मेरे मामले में हल हो गया। समस्या अन्यथा छिटपुट रूप से और बिना किसी निश्चित कारण के होती है (जैसे खराब जार या रास्ता)
डिर्क कॉनराड कोएत्से

यह मुझे पागल कर रहा था! एकमात्र समाधान जो मेरे लिए काम करता है। सोचता हूँ क्यों।
२१:३uru पर प्रिवसगुरु

1
यह मेरे लिए हल हो गया - अन्य समाधानों ने भी मदद की हो सकती है, लेकिन यह काम करने से पहले अंतिम था।
20

मैंने हर सुझाव के माध्यम से काम करने में 4 घंटे बिताए हैं जो मुझे मिल सकता है और आखिरकार यह मिल गया। धन्यवाद - इसने समस्या को तुरंत हल कर दिया।
स्क्वॉन्क

बहुत सरल समाधान है, लेकिन यह काम करता है! मुझे ग्रहण के साथ कुछ घंटों की व्यर्थ की लड़ाई से बचाया। इससे पहले कि आप किसी भी अधिक जटिल समाधान का प्रयास करें।
9

53

यदि आपके पास ADT संशोधन 12+ है, तो आपको 4.4 से -> 4.6 (जैसा कि यहां वर्णित है ) से अपने प्रहरी को अपडेट करना चाहिए । साथ ही, आपको ... मूल रूप में \ bin \ proguard.bat फ़ाइल छोड़नी चाहिए।

बस इसे वेब से डाउनलोड करें, और डाउनलोड किए गए पैकेज से लिबर फ़ोल्डर को कॉपी करें:

[Android SDK इंस्टॉलेशन डायरेक्टरी] \ tools \ proguard \ lib


3
यह कई एडीटी में मेरा मुद्दा रहा है। डाउनलोड करना और प्रोगार्ड JARs को बदलना।
श्री एस

वाह, धन्यवाद, इसने मेरे लिए यह तय किया, हालांकि मुझे कुछ चेतावनियों को भी साफ करने की जरूरत थी। stackoverflow.com/q/4525661/38258
निक गॉच

मैंने ०.४ से ४.१ से ०.४ तक वर्जन बदला, उसके बाद भी मेरी समस्या हल नहीं हुई।
हिरेन पटेल

1
मुझे सिर्फ खुद ऐसा करना था, 4.7 से जा रहा था -> 4.11 (अब यहां नवीनतम: sourceforge.net/projects/proguard/files )। मैंने अभी पुराने <sdk>/tools/proguardडायर का नाम बदला और पूरी अनजिप की गई proguard4.11डायर को पुराने रास्ते पर चला दिया। देखा! अब अगर केवल मैं अपने पिछले घंटे को वापस पा सका ... -_-
qix

1
धन्यवाद! इससे मेरी समस्या हल हो गई। मेरी समस्या तब होती है जब मैं एसडीके प्रबंधक से अपना एसडीके अपडेट करता हूं और प्रोगार्ड को मूल संस्करण पर रीसेट कर दिया गया है जो एपीआई स्तर 11 के साथ आया है। मैं प्रोगार्ड, जार को नवीनतम संस्करण में अपडेट करने के बाद। और यह काम करता है! मेरा संदर्भ: java.dzone.com/articles/my-reminder-how-fix-conversion
mmw5610

41

EDIT (नया समाधान):

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

मुझे यह त्रुटि लिंट चेक (एंड्रॉइड टूल्स / रन लिंट: चेक फॉर कॉमन एरर्स) के द्वारा मिली।

मेरा पिछला समाधान:

मैंने इस साइट पर किसी भी संभव समाधान की कोशिश की है - कुछ भी मदद नहीं की !!!

अंत में मुझे यहाँ एक उत्तर मिला है: https://groups.google.com/forum/# ​​.topic / actionbarsherlock / drzI7pEvKd4

आसान कदम:

प्रोजेक्ट पर जाएं -> बिल्ड को स्वचालित रूप से अनचेक करें

प्रोजेक्ट पर जाएं -> क्लीन ..., लाइब्रेरी प्रोजेक्ट और आपके ऐप प्रोजेक्ट दोनों को साफ करें

अपने एप्लिकेशन को एक हस्ताक्षरित एपीके के रूप में निर्यात करें जबकि बिल्ड स्वचालित रूप से अभी भी अक्षम है


शुक्रिया मेरे लिए मेरे काम के लिए काम किया cocos2dx js परियोजना का उपयोग करके 23 ग्रहण
स्नोफ्लेक्स

त्रुटि: अज्ञात विकल्प '0409' तर्क संख्या 1 में
इमान मारशी

30

यहाँ एक और परिदृश्य है, और समाधान:

यदि आप हाल ही में ग्रहण के लिए ADT को अपडेट करने के बाद इस समस्या में भाग लेते हैं:

  1. आपके एप्लिकेशन प्रोजेक्ट में, आपके लाइब्रेरी प्रोजेक्ट्स की ओर इशारा करते हुए किसी भी लिंक किए गए स्रोत फ़ोल्डर की जांच करें (उनके नाम "LibraryName_src" फॉर्म में हैं)।
  2. उन सभी प्रोजेक्ट्स को चुनें, राइट-क्लिक करें, " बिल्ड पाथ " -> " बिल्ड पाथ से निकालें " चुनें।
  3. " प्रोजेक्ट से फ़ोल्डर को भी अनलिंक करें " चुनें , और " हां " पर क्लिक करें ।
  4. प्रोजेक्ट को साफ, पुनर्निर्माण और फिर से तैयार करना।

ऐसा लगता है कि इसका कारण यह है कि एडीटी से जुड़े कुछ पिछले वर्जन लाइब्रेरी प्रोजेक्ट सोर्स फोल्डर को "चाइल्ड" प्रोजेक्ट्स से जोड़ा गया है, और वर्तमान एडीटी / डेक्स संयोजन उस समाधान के साथ संगत नहीं है।

EDIT: यह एक एंड्रॉइड देव ब्लॉग प्रविष्टि द्वारा पुष्टि की जाती है, विशेष रूप से यह एक - 8 वें पैराग्राफ को आगे देखें।


1
यह अब तक मेरी विशेष समस्या का सबसे उपयोगी उत्तर है । बहुत बहुत धन्यवाद!!!
बिल द एप

यह वही है जो मैं सफलतापूर्वक उपयोग कर सकता हूं, उपयोगकर्ता 408841 द्वारा अत्यधिक उत्क्रमित उत्तर नहीं।
rics

29

प्रोजेक्ट पर जाएं और फिर "स्वचालित रूप से निर्माण करें" को अनचेक करें। फिर प्रोजेक्ट को निर्यात करने का प्रयास करें और त्रुटि हो गई है।


27

इसका कारण यह भी हो सकता है कि आपने Android.jarअपने निर्माण पथ में फ़ाइल जोड़ दी है, शायद एक्लिप्स में एक आकस्मिक त्वरित फिक्स द्वारा। इसे राइट क्लिक प्रोजेक्ट के साथ निकालें -> बिल्ड पाथ -> कॉन्फिगर बिल्ड पाथ -> android.jar , remove।


25

बस प्रोजेक्ट की सफाई ने मेरे लिए हर बार यह त्रुटि काम की है।


ग्रहण + परियोजना की सफाई + मैनुअल निर्माण ने मेरे लिए काम किया।
डोडी_कोडर

सफाई ने मेरे लिए काम किया .... इसलिए यदि आपके पास एक अच्छा डिबग बिल्ड है जिसे आप वास्तविक फोन पर चला रहे हैं और फिर निर्यात जारी करें और इस त्रुटि को देखें ... सबसे पहले सभी परियोजनाओं को साफ करने का प्रयास करें।
लेपर्ट

16

मेरा अपना और एकमात्र समाधान, जो मैंने आज पाया कि सभी समाधानों के परीक्षण के चार घंटे बाद, यहां दिए गए कई समाधानों का एक संयोजन है:

  • Delete ग्रहण से परियोजना
  • प्रोजेक्ट फ़ोल्डर में \binऔर \genसे फ़ाइलें हटाएँ
  • .classpathमूल परियोजना फ़ोल्डर में फ़ाइल में पुस्तकालयों के संदर्भ निकालें
  • कमांड लाइन के साथ ग्रहण को फिर से शुरू करें: eclipse -clean
  • Import परियोजना
  • प्रोजेक्ट पर राइट क्लिक करें - Properties> चुनें Java Build Path> Librariesऔर बाकी सब को हटा देंAndroid XX.Y
  • अंत में cleanपरियोजना, स्वचालित भवन या Buildइसके लिए प्रतीक्षा करें
  • लॉन्च करें और अब यह काम करता है! कम से कम मेरे लिए...

मैंने एक बार में कई चरणों और कई संयोजनों की कोशिश की, लेकिन एक बार में सभी चरणों के उत्तराधिकार ने इसे बना दिया! मुझे उम्मीद है कि मैं फिर से इसका सामना नहीं करूंगा ...


एक अनाम उपयोगकर्ता की चेतावनी थी कि इसके विनाशकारी परिणाम थे। अपने जोखिम पर प्रयास करें!
पॉलि

यह मेरे लिए काम करता है, लेकिन मैंने ऐसा नहीं किया: "ग्रहण-ग्रहण" और पुस्तकालयों को नहीं हटाया।
निकोइंस्क

binफ़ोल्डर को हटाना मेरे लिए था।
boltup_im_coding

14

बस उन अन्य लोगों के लिए जिनके पास अभी भी यह समस्या है और उन्होंने उपरोक्त उत्तरों की कोशिश की है, लेकिन अभी भी त्रुटि (जो मेरा मामला था) हो रही है, तो मेरा समाधान परियोजना को एक्लिप्स से हटाना और इसे फिर से आयात करना था।

इसने एंड्रॉइड लाइब्रेरी को मेरे संदर्भित पुस्तकालयों में फिर से जोड़ दिया, इसलिए अब मेरे पास संदर्भित दो एंड्रॉइड JAR फाइलें हैं, इसलिए मैंने उनमें से एक को हटा दिया और अब यह ठीक संकलन करता है।

समाधान: प्रोजेक्ट को ग्रहण आईडीई से हटा दें और फिर इसे फिर से आयात करें, फिर उपरोक्त समाधानों के लिए जांचें।


धन्यवाद! इससे मुझे खरोंच से बचाने में मदद मिली।
हर्बर्ट

10

आज खुद इस समस्या में भाग गया। सफाई और पुनर्निर्माण ने समस्या को ठीक नहीं किया। प्रोजेक्ट को हटाने और पुन: आयात करने से भी मदद नहीं मिली।

मैंने आखिरकार इसे अपने .class फ़ाइल में एक ख़राब परिवर्धन के लिए वापस ट्रेस किया। मुझे लगता है कि यह प्लगइन टूल द्वारा जोड़ा गया था जब मैं एक और समस्या को ठीक करने की कोशिश कर रहा था, इसे हटाने से "त्रुटि 1 के साथ Dalvik प्रारूप में रूपांतरण से छुटकारा मिल गया"

<classpathentry kind="lib" path="C:/dev/repository/android-sdk-windows/platforms/android-3/android.jar">
    <attributes>
        <attribute name="javadoc_location" value="file:/C:/dev/repository/android-sdk-windows/docs/reference"/>
    </attributes>
    <accessrules>
        <accessrule kind="nonaccessible" pattern="com/android/internal/**"/>
    </accessrules>


9

मेरे लिए, मेरे निर्माण पथ में एक अतिरिक्त JAR संदर्भ दिखाई दिया था। मैंने इसे हटा दिया, और यह अब काम करता है।


8

मेरी समस्या ADT संस्करण 12.0 और ProGuard एकीकरण के कारण हुई। यह बग अच्छी तरह से प्रलेखित है और समाधान प्रलेखन में है

समाधान यहाँ है

ProGuard कमांड लाइन


धन्यवाद क्रोक, मुझे नहीं लगता कि बग को बहुत अच्छी तरह से प्रलेखित किया गया है - एक समाधान के लिए एक घंटे की खोज के बाद मुझे यह नहीं मिला।
केविन

आप शायद लिख रहे हैं - समस्या यह है कि एक एकल त्रुटि संदेश के कई कारण हैं। उपयोगकर्ताओं को समस्या को रेखांकित करने में मदद के लिए Google के पास कुछ और संदेश होने चाहिए। आप मुझे इस समस्या का समाधान करने में दो दिन लग सकते हैं जब मुझे इसका सामना करना पड़ा ...
Croc

लिंक किए गए बग चर्चा पृष्ठ पर टिप्पणी 11 ने यहां समस्या को हल किया: Verbose (विंडो> वरीयताएँ> Android> बिल्ड) से आउटपुट सेट करें और JAR या उन कक्षाओं की तलाश करें जिन्हें कंपाइलर उपयोग कर रहा है, लेकिन वहां नहीं होना चाहिए। उन्हें हटा दो। बिना किसी समस्या के फिर से निर्माण का अनुभव करें।
Giulio Piancastelli

8

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

  1. अपनी परियोजना पर राइट क्लिक करें, गुण चुनें।
  2. एक संवाद दिखाई देगा, बाएं मेनू पर 'जावा बिल्ड पाथ' चुनें।
  3. दाएँ पैनल पर 'Android निर्भरताएँ' और 'Android निजी लाइब्रेरी' निकालें, फिर ठीक पर क्लिक करें
  4. अपनी परियोजना को साफ करें (मेनू प्रोजेक्ट चुनें -> स्वच्छ)
  5. अपनी परियोजना पर राइट क्लिक करें, Android उपकरण चुनें -> परियोजना गुणों को ठीक करें
  6. एक बार फिर स्वच्छ परियोजना।
  7. अपने कंप्यूटर को पुनरारंभ
  8. खुला ग्रहण और निर्यात APK

आशा है कि आपकी मदद करेंगे।


उनका त्रुटि संदेश अधिक निर्दिष्ट होना चाहिए। तुम मेरा समय बचाओ। धन्यवाद।
teapeng

7

मेरे मामले में समस्या वास्तव में OpenFeint API प्रोजेक्ट के साथ है। मैंने OpenFeint को लाइब्रेरी प्रोजेक्ट के रूप में जोड़ा है:

पुस्तकालय परियोजना]! [१]! [यहाँ चित्र विवरण दर्ज करें

इसे बिल्ड पाथ में भी जोड़ा गया है, ADT टूल्स 16 इस लैंडरियो के साथ त्रुटि देता है।

अपनी परियोजना पर राइट क्लिक करें और बिल्ड पथ पर क्लिक करें, बिल्ड पथ को कॉन्फ़िगर करें और फिर चित्र देखें और अपनी परियोजना को खोलेंफिंट को यहां से हटा दें और यह सब हो गया :)

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


7

मुझे कुछ और मिला। Android /libsJAR फ़ाइलों के लिए निर्देशिका का उपयोग करता है । मैंने कई बार, "जब मैंने अपनी JAR फाइलों में गलती की है, तो त्रुटि 1 के साथ Dalvik प्रारूप में रूपांतरण विफल" देखा है।

अब मैंने Roboguice को एक नए संस्करण में अपग्रेड किया, /libsनिर्देशिका में नई JAR फ़ाइल डालकर और क्लास पथ को नए संस्करण में स्विच किया। जिससे दलविक त्रुटि हुई।

जब मैंने /libsफ़ोल्डर से रोबोगुइस जार फ़ाइलों में से एक को हटा दिया , तो त्रुटि गायब हो गई। जाहिरा तौर पर, एंड्रॉइड सभी JAR फाइलों को उठाता है /libs, चाहे आप जावा बिल्ड पथ में निर्दिष्ट किए गए हों। मुझे ठीक से याद नहीं है, लेकिन मुझे लगता है कि एंड्रॉइड 4.0 (आइसक्रीम सैंडविच, आईसीएस) के /libsसाथ शुरू होने वाले डिफ़ॉल्ट रूप से एंड्रॉइड ने उपयोग करना शुरू कर दिया ।


7

लेटेस्ट वर्जन में अपडेट करने के लिए इसे मेरे लिए अपडेट किया गया।

  • मेरा प्रपोजल पथ था C:\Program Files (x86)\Android\android-sdk\tools\proguard\
  • मैंने यहाँ से नया संस्करण डाउनलोड किया
  • और दोनों बिन और lib फ़ोल्डरों को बदल दिया

सुकर है!


7

सामान्य तौर पर, ऐसा लगता है कि यह समस्या तब आती है जब बिल्ड पथ में अनावश्यक JAR फाइलें होती हैं।

IntelliJ IDEA पर काम करते समय मुझे इस समस्या का सामना करना पड़ा । मेरे लिए यह इसलिए हुआ क्योंकि मैंने JUnit और Mockito पुस्तकालयों को जोड़ा था जिन्हें रनटाइम पर संकलित किया जा रहा था। मॉड्यूल गुणों में इसे "परीक्षण" पर सेट करने की आवश्यकता है।


ओह थैंक्स फॉर उल्लेखित "सामान्य तौर पर, ऐसा लगता है कि यह समस्या तब आती है जब बिल्ड पथ में अनावश्यक जार होते हैं।" अनावश्यक जार फ़ाइलों को हटाने के बाद त्रुटि हो गई है। :)
सुरेंद्रन

6

पहले से प्रस्तावित किसी भी समाधान ने मेरे लिए काम नहीं किया। मेरे मामले में, समस्या तब हुई जब मैंने लाइब्रेरी स्रोत कोड फ़ोल्डर को लायब्रेरी JAR फ़ाइल का उपयोग करने से संदर्भित किया। प्रारंभ में एक एंड्रॉइड लाइब्रेरी प्रोजेक्ट था जिसे एंड्रॉइड एप्लिकेशन प्रोजेक्ट प्रॉपर्टीज़ / एंड्रॉइड पेज \ लाइब्रेरी अनुभाग के तहत सूचीबद्ध किया गया था, और लाइब्रेरी स्रोत निर्देशिका के लिंक के रूप में प्रोजेक्ट एक्सप्लोरर ट्री में भी पुस्तकालय की तुलना की गई थी।

पहले स्थान पर, मैंने प्रोजेक्ट ट्री से डायरेक्ट्री लिंक को हटा दिया और मैंने JAR लाइब्रेरी को बिल्ड पथ में जोड़ दिया, लेकिन यह अपवाद का कारण बना।

सही प्रक्रिया थी (निर्माण पथ को वापस बदलने और पुस्तकालय स्रोत के संदर्भ को वापस रखने के बाद):

  • ठीक से पुस्तकालय स्रोत निर्देशिका लिंक को हटा दें वास्तव में आवेदन परियोजना गुण \ Android पृष्ठ से संदर्भ को हटाकर

  • हमेशा की तरह एप्लिकेशन प्रोजेक्ट बिल्ड पथ में लाइब्रेरी JAR जोड़ना।


6

किसी भी सूचीबद्ध समाधान ने मेरे लिए काम नहीं किया।

यहाँ मुझे समस्या आ रही है:

मैंने jSoup एक्सटर्नल JAR फाइल को पहले "प्रॉब्लम्स" नामक सोर्स फोल्डर में डालकर अपने प्रोजेक्ट के पाथ में जोड़ा, और फिर राइट क्लिक करके, बिल्ड पाथ -> ऐड टू बिल्ड पाथ। इसने दलविक रूपांतरण त्रुटि को फेंक दिया। इसमें कहा गया है कि मैंने उस JAR फ़ाइल से एक वर्ग को पहले ही "शामिल" कर लिया था। मैंने परियोजना की निर्देशिका के आसपास देखा और पाया कि वह जगह जहां वह "पहले से ही शामिल थी" वास्तव में binनिर्देशिका थी। मैंने binडायरेक्ट्री से JAR फाइल को डिलीट कर दिया और एक्लिप्स में प्रोजेक्ट को रिफ्रेश कर दिया और त्रुटि दूर हो गई!


5

ऊपर दिए गए सभी समाधान मेरे लिए कारगर नहीं हुए। मैं किसी भी precompiled का उपयोग नहीं कर रहा हूँ। मैं LVL और Dalvik त्रुटियों का उपयोग कर रहा हूँ जहाँ सभी बाजार लाइसेंसिंग लाइब्रेरी से संबंधित हैं।

मुख्य परियोजना को हटाने और पुन: आयात करने (मौजूदा स्रोतों से एक नई परियोजना बनाने) से समस्या हल हो गई।


5

मुझे भी यही समस्या थी और इनमें से किसी भी समाधान ने काम नहीं किया। अंत में, मैंने कंसोल में देखा कि त्रुटि डुप्लिकेट क्लास (मौजूदा प्रोजेक्ट में एक, अतिरिक्त जार फ़ाइल में एक) के कारण थी:

java.lang.IllegalArgumentException: already added: package/MyClassclass;
[2011-01-19 14:54:05 - ...]: Dx1 error; aborting
[2011-01-19 14:54:05 - ...] Conversion to Dalvik format failed with error 1

इसलिए जांचें कि क्या आप अपने प्रोजेक्ट में डुप्लीकेट कक्षाओं के साथ जार जोड़ रहे हैं। यदि हाँ, तो उनमें से एक को हटाने का प्रयास करें।

इसने मेरे लिए काम किया।


मेरा जवाब देखें: stackoverflow.com/questions/2680827/…
मिशेल

5

अक्सर मेरे लिए, प्रोजेक्ट को साफ करना इस समस्या को ठीक नहीं करता है।

लेकिन परियोजना को ग्रहण में बंद करना और फिर इसे खोलना उन मामलों में इसे ठीक करता है ...


1
मेरे लिए भी, ग्रहण को बंद करना और फिर से शुरू करना आमतौर पर इसे हल करता है। फिर मुझे लगता है कि मैं कोशिश करता हूं, लेकिन मैं दूसरा निर्यात नहीं कर सकता, मुझे फिर से शुरू करना होगा।
टेड

5

मैं इस समस्या में भाग गया लेकिन मेरा समाधान दुगना था। 1.) मुझे प्रोजेक्ट के तहत एक Android लक्ष्य संस्करण जोड़ना पड़ा -> गुण -> Android । 2.) मेरे पास सभी Google 'थर्ड पार्टी ऐड-ऑन' नहीं थे। उपलब्ध पैकेजों के तहत AVD SDK प्रबंधक पर क्लिक करें -> तृतीय-पक्ष ऐड-ऑन -> Google इंक । मैंने सभी एसडीके डाउनलोड किए और इससे मेरी समस्या हल हो गई।


मेरा समाधान बहुत हद तक @THE_DOM के समाधान के समान था। प्रोजेक्ट पर राइट-क्लिक करें, Android टूल चुनें, फिर Add संगतता लाइब्रेरी चुनें। यह उन "थर्ड पार्टी ऐड-ऑन" को डाउनलोड करेगा यदि आपके पास उन्हें (THE_DOM का समाधान) नहीं है, लेकिन यह उन्हें आपके प्रोजेक्ट में भी जोड़ देगा। यह समाधान सिर्फ एक प्लेसबो है या नहीं यह अभी तक देखा जा सकता है। :)
क्रिस

5

मैं एंड्रॉइड 1.6 का उपयोग कर रहा हूं और एक बाहरी JAR फ़ाइल थी। मेरे लिए जो काम किया गया था, वह सभी पुस्तकालयों को हटाने, राइट-क्लिक प्रोजेक्ट और एंड्रॉइड टूल्स का चयन करने के लिए था -> * प्रोजेक्ट प्रॉपर्टीज (जिसमें एंड्रॉइड 1.6 वापस जोड़ा गया) को ठीक करें और फिर बाहरी जार फ़ाइल को वापस जोड़ें।


5

मैं इस समस्या में भाग गया क्योंकि एक्लिप्स में एंड्रॉइड-मावेन-प्लगइन स्पष्ट रूप से एक-दो परियोजनाओं (एक एंड्रॉइड लाइब्रेरी प्रोजेक्ट सहित) से दो बार संदर्भित संदर्भ और संदर्भों को नहीं पहचान रहा था, और उनमें से एक से अधिक बार। मुझे केवल एक बार सब कुछ शामिल करने के लिए hocus-pocus का उपयोग करना था, भले ही मावेन को इस सब का ध्यान रखना चाहिए।

उदाहरण के लिए, मेरे पास एक मुख्य पुस्तकालय भूमंडलीकरण-कोर था, जिसका उपयोग भूमंडलीकरण-गूगल और भूमंडलीकरण-एंड्रॉइड (जिसके उत्तर में एक Android पुस्तकालय है) द्वारा भी किया जाता था। वैश्वीकरण-एंड्रॉइड में pom.xmlमुझे निर्भरता को "प्रदान" करने के साथ-साथ अन्य पुस्तकालयों से बाहर रखा गया था जिसमें इसे पारगमन में शामिल किया गया था:

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-core</artifactId>
        <version>1.0-SNAPSHOT</version>
        <!-- android-maven-plugin can't seem to automatically keep this from being
             included twice; it must therefore be included manually (either explicitly
             or transitively) in dependent projects -->
        <scope>provided</scope>
    </dependency>

फिर अंतिम आवेदन में pom.xmlमुझे केवल एक समावेश पथ की अनुमति देने के लिए सही प्रवंचना का उपयोग करना था --- साथ ही साथ स्पष्ट रूप से मूल पुस्तकालय सहित नहीं :

    <!-- android-maven-plugin can't seem to automatically keep this from being
        included twice -->
    <!-- <dependency> -->
    <!-- <groupId>com.globalmentor</groupId> -->
    <!-- <artifactId>globalmentor-core</artifactId> -->
    <!-- <version>1.0-SNAPSHOT</version> -->
    <!-- </dependency> -->

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-google</artifactId>
        <version>1.0-SNAPSHOT</version>
        <exclusions>
            <!-- android-maven-plugin can't seem to automatically keep this from
                being included twice -->
            <exclusion>
                <groupId>com.globalmentor</groupId>
                <artifactId>globalmentor-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-android</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

मेरे लिए अजीब बात यह थी कि <extractDuplicates>true</extractDuplicates>एंड्रॉइड-मावेन-प्लगइन ने इस मुद्दे को तय किया था, mvn installलेकिन इसके लिए नहीं mvn deployजहां मुझे वर्णित त्रुटि मिली ... वास्तव में अजीब है
कारसुएल

5

मेरे मामले में

प्रोजेक्ट-> गुण-> जावा बिल्ड पाथ -> ऑर्डर और एक्सपोर्ट टैब में -> android-support-v4.jar को अनचेक करें


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