2012-11-18 12 views
47

मैं एक्लिप्स का उपयोग कर ओपनएसएमएल का उपयोग कर एक एंड्रॉइड प्रोजेक्ट की कोशिश कर रहा हूं। मैंने बिल्ड पथ में सभी आवश्यक जार फ़ाइलों को जोड़ा है। अब, जब मैं एक Android आवेदन के रूप में कार्यक्रम चलाने के निम्न त्रुटि दिखाता है:एक्लिप्स में एंड्रॉइड त्रुटि: "डीएक्स निष्पादित करने में असमर्थ: गैर-जंबो निर्देश में नई अनुक्रमणिका 6579 9 को विलय नहीं कर सकता!"

[2012-11-18 11:52:59 - Dex Loader] Unable to execute dex: Cannot merge new index 67075 into a non-jumbo instruction! 
[2012-11-18 11:52:59 - MyTestProgram] Conversion to Dalvik format failed: Unable to execute dex: Cannot merge new index 67075 into a non-jumbo instruction! 

मैं थोड़ा googled, लेकिन कुछ नहीं आया। इस त्रुटि का क्या अर्थ हो सकता है?

+0

अपनी ग्रहण को फिर से खोलने का प्रयास करें। मैं उस त्रुटि को हल करने में सक्षम था। –

+0

मैंने इतनी बार कोशिश की, लेकिन बस यहाँ फंस गया! – Ripul

+0

@ रिपुल आप opensaml और एंड्रॉइड पॉक –

उत्तर

54

एक समाधान जो मैंने पाया कि यह मेरे लिए काम कर रहा है वह dex.force.jumbo=true को project.properties में जोड़ना था।

इस पर बताया गया: https://groups.google.com/forum/?fromgroups=#!topic/adt-dev/tuLXN9GkVas

यह मानते हुए है आप एडीटी 21 चल रहे हैं के रूप में इस सुविधा पिछले संस्करणों में उपलब्ध नहीं था।

+0

आपके उत्तर के लिए धन्यवाद। मैंने कोशिश की कि एक। लेकिन मुझे यह मिलता है:
स्थापना त्रुटि: INSTALL_FAILED_DEXOPT अधिक जानकारी के लिए कृपया लॉगकट आउटपुट जांचें। लॉन्च रद्द!
फिर मैंने लॉगकैट की जांच की। और logcat में, आउटपुट है:
डब्ल्यू/installd (40): DexInv: --- END '/data/app/*.apk' --- स्थिति = 0xff00, प्रक्रिया विफल ई/installd (40): dexopt '/data/dalvik-cache/[email protected]@*[email protected]' res = 65280 डब्ल्यू/पैकेज प्रबंधक (14 9) पर विफल रहा: पैकेज /data/app/*.apk में स्थापित नहीं किया जा सका।
कोई विचार? – Ripul

+2

एक स्वच्छ पुनर्निर्माण करने का प्रयास किया? – Malachi

+0

यकीन है कि मैंने किया था। समस्या यह है कि लॉगकैट क्या हो रहा है यह समझने के लिए पर्याप्त आउटपुट का उत्पादन नहीं कर रहा है! – Ripul

14

एक ही समस्या ... बस project.properties

+0

सिर्फ एक आकर्षण की तरह काम किया! धन्यवाद रिनो! – Vincy

+0

लाइन या शुरुआत में लाइन डालने के लिए मेरे लिए कोई फर्क नहीं पड़ता। अभी भी काम नहीं कर रहा है। – zgulser

+0

ग्रहण या एंड्रॉइड स्टूडियो का उपयोग करना? यह लिंक आपको सहायता कर सकता है http://developer.android.com/tools/building/multidex.html – Rino

6

की पहली पंक्ति मैं एक ही समस्या थी में

dex.force.jumbo=true 

डाल दिया, लेकिन मेरी आईडीई IntelliJ विचार 13. था कि संस्करण में, dex.force.jumboproject.properties फ़ाइल में निर्देश को अनदेखा किया गया है।

इसे सक्षम करने के लिए, बस सेटिंग्स पर जाएं। कंपाइलर | एंड्रॉइड डीएक्स और फोर्स जंबो मोड विकल्प का चयन करें।

उम्मीद है कि यह मदद करता है (यह एकमात्र एसओ-संबंधित प्रश्न है जिसे मैं ढूंढने में सक्षम हूं)।

+0

ऐसी कोई भी अनुभाग ** Android DX ** सेटिंग्स में नहीं। और एंड्रॉइड स्टूडियो में इंटेलिज जे आईडीईए पर आधारित कोई ऐसा विकल्प ** फोर्स जंबो मोड **। – ViliusK

+1

क्योंकि IntelliJ कई पहलुओं में एंड्रॉइड स्टूडियो से अलग है, यह उनमें से एक है। चूंकि स्टूडियो डिफ़ॉल्ट रूप से ग्रैडल का उपयोग करता है, इसलिए आपको अपनी 'build.gradle' फ़ाइल में' dexOptions {jumboMode = true} 'निर्दिष्ट करना होगा। – Sebastiano

2

कुछ स्पष्टीकरण जोड़ना:

यह तब होता है जब ग्रहण संवर्द्धित का निर्माण करने की कोशिश करता है, जब एक परिवर्तन आवेदन में स्ट्रिंग स्थिरांक की संख्या बढ़ जाती है। मूल डेक्स में गैर-जंबो निर्देश थे, और इसमें नए डीएक्स को विलय किया जा रहा है जिसमें जंबो निर्देश हैं। एक साफ करने से पता चलता है कि जब आप खरोंच से बनाते हैं तो यह काम करता है।

जब तक आपके आवेदन में तारों की संख्या एकान्त रूप से बढ़ रही है, वृद्धिशील बिल्ड आगे बढ़ने का काम करेंगे।

0

मुझे एक ही समस्या थी, लेकिन मेरे मामले में "dex.force.jumbo = true" कमांड समस्या का समाधान नहीं करता है। मैं जेडीके और जेआरई अपडेट करने का प्रयास करता हूं, और यह समस्या को हल करता है।

आशा इस उत्तर मदद

4

बस jumboMode=true मेरी Gradle निर्माण के लिए काम नहीं किया गया। हालांकि इस काम (एक बग इस क्षेत्र में दायर करने के लिए एक उत्तर के रूप में ADT-देव समूह में जेवियर से उद्धृत):

"Try to delete all the build folders manually and build again, making sure the dexOptions.jumboMode is set to true in the project?

There's an issue where the root project's build is not deleted in the clean task and this contains some information about the pre-dexed libraries."

13

तो Gradle निर्माण का उपयोग कर, बस dexOptions build.gradle में जंबो मोड सक्षम करने के जोड़ें:

android { 
    dexOptions { 
     jumboMode = true 
    } 
} 

अपनी नई इमारत से पहले "धीरे-धीरे साफ" चलाने के लिए याद रखें।