2010-05-03 18 views
13

मैं एंड्रॉइड पर एक ऐप बना रहा हूं और एक त्रुटि में चल रहा हूं और नेट पर खोज करते समय, इस पर आपके पोस्टिंग में आया और XMS और Xmx पैरा को बढ़ाने के लिए eclipse.ini को बदल दिया लेकिन अभी भी यह त्रुटि दूर नहीं जाती है।एंड्रॉइड: त्रुटि प्राप्त करना: Dalvik प्रारूप में रूपांतरण विफल रहा

मै मैक ओएस पर एंड्रॉइड एसडीके 2.1 के साथ जावा के लिए एक्लिप्स आईडीई का उपयोग कर रहा हूं। कृपया मदद करें या कृपया मुझे किसी ऐसे व्यक्ति को इंगित करें जो शायद जान सके।

बीटीडब्ल्यू, यह त्रुटि तब होती है जब मैं बाहरी जार फ़ाइलों को जोड़ता हूं (जो मुझे मेरी परियोजना के लिए चाहिए)। यहाँ मैं अपने classpath में है कि बाहरी जार फ़ाइलों की सूची में हैं।)

  • अपाचे से httpclient-4.0.1.jar
  • httpcore -4.0.1.jarfrom अपाचे
  • कॉमन्स-कोडेक-1.3

    : .jar अपाचे से
  • गूगल

यहाँ से

  • json_simple-1.1.jar अपाचे से कॉमन्स-प्रवेश-1.1.1.jar पूरा त्रुटि है
    UNEXPECTED TOP-LEVEL EXCEPTION: 
    java.lang.IllegalArgumentException: already added: Lorg/apache/commons/logging/impl/AvalonLogger; 
    [2010-05-02 21:57:05 - MyApp]     at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.dx.dex.file.DexFile.add(DexFile.java:143) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main.processClass(Main.java:301) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main.processFileBytes(Main.java:278) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main.access$100(Main.java:56) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:229) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.dx.cf <http://com.android.dx.cf.direct.ClassPathOpener.pro> .direct.ClassPathOpener.processArchive(ClassPathOpener.java:244) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main.processOne(Main.java:247) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.dx.command.dexer.Main.run(Main.java:139) 
    [2010-05-02 21:57:05 - MyApp]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    [2010-05-02 21:57:05 - MyApp]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    [2010-05-02 21:57:05 - MyApp]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    [2010-05-02 21:57:05 - MyApp]     at java.lang.reflect.Method.invoke(Method.java:592) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.ide.eclipse.adt.internal.sdk.DexWrapper.run(Unknown Source) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.ide.eclipse.adt.internal.build.ApkBuilder.executeDx(Unknown Source) 
    [2010-05-02 21:57:05 - MyApp]     at com.android.ide.eclipse.adt.internal.build.ApkBuilder.build(Unknown Source) 
    [2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:627) 
    [2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
    [2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170) 
    [2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201) 
    [2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253) 
    [2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
    [2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256) 
    [2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309) 
    [2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341) 
    [2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140) 
    [2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238) 
    [2010-05-02 21:57:05 - MyApp]     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) 
    [2010-05-02 21:57:05 - MyApp] 4 errors; aborting 
    [2010-05-02 21:57:05 - MyApp] Conversion to Dalvik format failed with error 1 
    
  • +0

    क्या इसका कोई समाधान था? मैं इसे इंटेलिज में भी देखता हूं। –

    +0

    इंटेलिज विचार पर समाधान क्या है? एडीटी ठीक है – crossle

    उत्तर

    6

    UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added: Lorg/apache/commons/logging/impl/AvalonLogger;

    आप org.apache.commons.logging.impl.AvalonLogger अपनी परियोजना के लिए दो बार जोड़ने का प्रयास कर रहे हैं। ऐसा मत करो।

    इसके अलावा, जो भी आप JARs के माध्यम से जोड़ रहे हैं, वह पहले से ही एंड्रॉइड में है, जैसे कि एचटीपी क्लाइंट। यह आपकी त्रुटि में योगदान दे रहा है।

    2

    मैंने इस त्रुटि के एक संभावित कारण और उसके समाधान here के बारे में एक ब्लॉग पोस्ट लिखा था। उम्मीद है की यह मदद करेगा।

    +1

    आपके ब्लॉग पर लंबे विवरण के लिए धन्यवाद, बहुत बुरा यह मेरी मदद नहीं करता; ( – Manuel

    4

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

    • मैं एक अलग बाहरी जार कि भी निर्देशिका में स्थानीय था उपयोग कर रहा था। मैंने इसे बिल्ड-पथ से हटा दिया और इसे स्थानीय जार से फिर से जोड़ा।
    • मैंने सभी बाहरी जार हटा दिए और एक बार यह सुनिश्चित किया कि वे सही थे।
    • मैंने अपनी परियोजना के साथ-साथ बिन और जेन निर्देशिकाओं में .classpath फ़ाइल को हटा दिया।
    • मैंने परियोजना को ग्रहण करने के लिए मजबूर कर ग्रहण में परियोजना को साफ किया।
    • मैं भी निर्माण आदेश में सामान्य निर्देशिका के ऊपर जार फ़ाइल के चारों ओर shuffled।

    उपरोक्त का कुछ संयोजन इस मुद्दे को ठीक करना प्रतीत होता था। यदि यह फिर से होता है, तो मैं यह देखने के लिए और अधिक सावधान रहूंगा कि मैं इसे पुन: पेश कर सकता हूं या नहीं।

    1

    मैं क्योंकि मैं अपने src/ निर्देशिका के अंतर्गत .jar डाल इस समस्या थी, इसलिए ग्रहण bin/ डायरेक्टरी में नकल की और दोनों स्थानों से जोड़ने की कोशिश की। इसे src/ से libs/ पर ले जाने से समस्या ठीक हुई।

    1

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

    1

    प्रोजेवार्ड का उपयोग करके कस्टम कमांड का उपयोग करके कस्टम बिल्ड करने के बाद यह हमेशा मेरे साथ हुआ।

    मैं अपने ग्रहण परियोजना निर्देशिका के बिन निर्देशिका खाली करने और उसके बाद परियोजना की सफाई इस समस्या का समाधान (ग्रहण मेनू "परियोजना" -> "साफ ...")

    जाहिर ProGuard एक मेस इस में बना देता है निर्देशिका जिसके द्वारा ग्रहण भ्रमित हो जाता है ...

    2

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

    21

    आर 14 में उन्होंने बाहरी पुस्तकालयों के संदर्भ में जिस तरीके से संदर्भित किया है और यह इस समस्या का कारण बन सकता है। "> पथ का निर्माण का निर्माण पथ से निकालें"

    • राइट क्लिक करें और चुनें
    • एक पॉपअप खुलेगा: आप लिंक किए गए फ़ोल्डर से फ़ोल्डर ट्री (नाम में _src के साथ) को हटाने के द्वारा इसे ठीक कर सकते हैं। सुनिश्चित करें कि "प्रोजेक्ट से फ़ोल्डर को अनलिंक करें" चेक किया गया है और फिर इसे स्वीकार करें।

    http://android-developers.blogspot.co.uk/2011/10/changes-to-library-projects-in-android.html

    +0

    यह एकमात्र समाधान था जिसने मेरी समस्या तय की। इस –

    +0

    को पोस्ट करने के लिए धन्यवाद यह उत्तर स्वीकार किया जाना चाहिए, यह काम करता है! धन्यवाद – Guillaume

    +0

    धन्यवाद भाई, मैंने कभी कोशिश नहीं की, विकृत त्रुटि ओओ – martyglaubitz

    0

    मैं वास्तव में इस समस्या को सभी posible समाधान करने का प्रयास कर के साथ पागल हो देखते हैं, लेकिन कोई भी मेरे लिए काम किया: स्वच्छ परियोजना, री-निर्माण,, पुस्तकालयों को मिटाकर फिर से पुस्तकालयों को जोड़ने, ProGuard अद्यतन करने , ProGuard फ़ाइलों का संपादन ...

    अंत में समाधान बहुत अधिक आसान था: परियोजना, एंड्रॉयड उपकरण, फिक्स परियोजना propieties

    अब मैं एपीके निर्यात कर सकता हूं।

    0

    राइट क्लिक करें src और gen फ़ोल्डर्स और बिल्ड पथ> बिल्ड पथ से निकालें का चयन करें। तो सही पथ का निर्माण> स्रोत फ़ोल्डर के रूप में प्रयोग करें

    0

    क्लिक करें> मुझे मिल गया है कि समय-समय पर जब मैं एंड्रॉयड का कोई असंगत संस्करण में कोड भागने की कोशिश की से (यानी 2.2 जब 4.0 एक विशेष पुस्तकालय काम करने के लिए आवश्यक था)

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