2013-04-11 9 views
13

मुझे पता है कि इस प्रश्न का एक रूप वहां है, लेकिन मुझे विशेष रूप से कुछ भी नहीं मिल रहा है जो मेरे परिदृश्य को फिट करता है, तो यहां यह है।निर्यात पर एंड्रॉइड में त्रुटि 1 के साथ डेलविक प्रारूप में रूपांतरण विफल रहा (विज्ञापन 21)

मेरा ऐप एमुलेटर में परीक्षण करते समय संकलित और पूरी तरह से चलता है, लेकिन जब मैं एक हस्ताक्षरित एपीके निर्यात करने का प्रयास करता हूं तो मुझे Conversion to Dalvik format failed with error 1 मिलता है। ग्रहण त्रुटि लॉग यह स्टैक ट्रेस दिखाता है:

com.android.ide.eclipse.adt.internal.build.DexException: Conversion to Dalvik format failed with error 1 
at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:751) 
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:269) 
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(ExportWizard.java:296) 
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(ExportWizard.java:233) 
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(ExportWizard.java:218) 
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) 

मैं नामकरण टकराव नहीं है कि अन्य लोगों को है (कम से कम यह त्रुटि में इतना कहना नहीं है) लगता है, और मैं के रूप में स्टम्प्ड हूँ यह एमुलेटर में क्यों चलता है, लेकिन मैं निर्यात नहीं कर सकता।

मैं या तो ProGuard का उपयोग नहीं कर रहा हूं।

+0

एक ही प्रश्न चर्चा के लिए यहां जाएं, यह आपकी मदद कर सकता है http://stackoverflow.com/questions/2680827/conversion-to-dalvik-format-failed-with-error-1-on-external-jar?rq= 1 – manish

+0

इस स्थिति में मुझे क्या मदद करता है: "बिन" फ़ोल्डर की सभी सामग्री, स्वच्छ परियोजना, परीक्षण डिवाइस पर ऐप चलाएं, फिर से हस्ताक्षरित रिलीज एपीके बनाएं। – datayeah

उत्तर

27

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

संपादित करें: जब मैं पहली बार यह समस्या आई थी, तो मैं ActionBarSherlock का उपयोग कर रहा था, लेकिन हाल ही में ActionBarCompat पर स्विच कर चुका हूं। स्विच के बाद, निर्यात करते समय मुझे dexedLibs फ़ोल्डर को हटाना नहीं होगा। ऐसा लगता है कि एक्शनबैरशॉक को दोष देना था, लेकिन मैं निश्चित नहीं हो सकता।

+8

हल हो गया !! एपीके –

+0

निर्यात करने से पहले 'bin' फ़ोल्डर से बस 'dexedLibs' फ़ोल्डर हटा दिया गया था ADT 22 के साथ एक ही समस्या थी और यह नौकरी थी! –

+0

ग्रेट धन्यवाद! निर्यात करने से पहले dexedLibs फ़ोल्डर को हटाने से मेरी मदद की! –

12

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

+1

मैंने अपने बिन फ़ोल्डर्स में सब कुछ हटा दिया, साफ किया, कुछ भी मदद नहीं की। यह हालांकि हुआ! – Josh

+0

मैं आपका जवाब स्वीकार नहीं कर सकता, मैंने सवाल नहीं पूछा। – Josh

2

कई प्रयासों के बाद मैंने यह समस्या जानने का कारण पता चला। आम तौर पर, यह ProGuard और विशेष रूप से इसके अनुकूलन के कारण होता है। कम से कम मेरे मामले में मेरे पास इस त्रुटि के साथ 4 भ्रष्ट परियोजनाएं थीं, लेकिन जब मैंने ProGuard अनुकूलन को अक्षम कर दिया, तो वे सभी सही ढंग से बनाए गए थे। तो, अपने ProGuard config में -optimizations टिप्पणी और विकल्प -optimizationpasses और -dontoptimize

# -optimizations ... 
# -optimizationpasses 5 

-dontoptimize 

आशा इस मदद करता है जोड़ें।

+0

मैंने प्रत्येक सुझाए गए प्रयास की है समाधान लेकिन यह केवल एकमात्र है जो मेरे लिए काम करता है। –

+0

लेकिन क्या यह बुरा नहीं है? मेरा मतलब है मान लीजिए कि मैं अपना ऐप प्रकाशित करना चाहता हूं। क्या डिप्टीमाइज्ड संस्करण अनुकूलित संस्करण से भी बदतर नहीं होगा? यह समस्या मेरे बाद हुई कुछ कोड परिवर्तन किए हैं, इसलिए मुझे आश्चर्य है कि ProGuard कुछ नए प्रतीकों को भ्रमित कर रहा है जो मैंने पेश किया है ... – Antinous

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