2015-06-11 17 views
10

में मल्टी-डेक्स सक्षम करने के बाद त्रुटि, इंफ्राजिस्टिक्स चार्ट नियंत्रण और Google Play सेवाओं के संदर्भ को जोड़ने के बाद, एक्समरीन एंड्रॉइड एप्लिकेशन बनाने के दौरान, हमें 'मल्टी-डेक्स' प्रॉपर्टी को true पर सक्षम करना था (चूंकि ऐप ने 65 के डीएक्स विधि सीमा को मारा)। हमने एक त्रुटिएक्समरिन एंड्रॉइड

..\CREATEMULTIDEXMAINDEXCLASSLIST: Error: Expecting class path 
separator ';' before 
'\Android\android-sdk\build-tools\21.1.1\lib\shrinkedAndroid.jar' in 
argument number 8 

मैं Xamarin स्टूडियो संस्करण 5.9 का उपयोग कर रहा हो रही है (निर्माण 431) Xamarin.Android संस्करण: 5.1.0

Xamarin में इस समस्या को हल करने में मदद करें ।

+0

आप पहले से ही के माध्यम से [डॉक्स] देखा है (https://developer.android.com/tools/building/multidex.html)? – Andy

+2

एक ही त्रुटि मिली ... आपने इसे कैसे ठीक किया? – Angudroid

+0

मैंने एंड्रॉइड एसडीके को रिक्त स्थान (उदाहरण के लिए, सी: \ एंड्रॉइड) के बिना एक nondefault निर्देशिका में स्थापित करने की सिफारिश पढ़ी है, क्योंकि डिफ़ॉल्ट निर्देशिका सी: \ प्रोग्राम फ़ाइलें (x86) \ एंड्रॉइड में है जिसमें 2 रिक्त स्थान हैं जो कुछ के साथ गड़बड़ करते हैं कमांड लाइन तर्क जहां कमांड लाइन तर्क समाप्त होता है। जब तक मैं मल्टी-डेक्स समर्थन चालू नहीं करता तब तक मुझे डिफ़ॉल्ट निर्देशिका में कोई परेशानी नहीं थी। – optikos

उत्तर

-3

मुझे एक ही समस्या थी। इसे हल करने के लिए आपको पैकेजिंग में Android Options विकल्प में अपनी परियोजना के गुणों और Multi-Dex अक्षम करने के विकल्प पर जाना होगा। और डीबगर विकल्प में Xamarin चुनें या Microsoft नहीं चुनें। मुझे लगता है कि यह आपकी समस्या का समाधान करता है।

9

हमें हमारे निर्माण सर्वर पर एक ही समस्या थी, और हमें एंड्रॉइड एसडीके को बिना किसी स्पेस के पथ पर ले जाना पड़ा। C:\android-sdk\...

स्पष्ट रूप से हमें ANDROID_HOME पर्यावरण चर को नए पथ में अपडेट करने की आवश्यकता है, और Xamarin स्टूडियो और विजुअल स्टूडियो में एसडीके पथ सेट करें।

इससे हमारे लिए समस्या हल हो गई है।

-2

कृपया अपने एसडीके को जहां पर्याप्त जगह उपलब्ध है वहां रखें और फिर अपनी जार या डीएलएल फ़ाइल डालें, यह काम करेगा।

0

मुझे इस समस्या का सामना करना पड़ रहा है जब भी मैं एक अद्यतन करता हूं जो एक नया बिल्ड-टूल्स फ़ोल्डर बदल या स्थापित करता है। इसलिए मैंने अपने लिए यहां समाधान को स्टोर करने का फैसला किया और जिसके लिए इस समाधान से लाभ हो सकता है।

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

  1. ठीक Android SDK में mainDexClasses.bat समायोजित करने के लिए है। इस फ़ाइल के लिए खोजें और सभी उदाहरणों के लिए फिक्स लागू करें। पहली बात फ़ोल्डर एंड्रॉइड-एसडीके और उप बिल्ड-टूल्स का पता लगाएं। मेरा पथ उदाहरण के लिए सी: \ उपयोगकर्ता \ YOURUSERNAME \ AppData \ Local \ Android \ android-sdk \ build-tools \ xx.xx (जैसे 24.0.1)
  2. जैसे संस्करण संख्या वाले नाम वाले फ़ोल्डर के अंदर जांचें तो mainDexClasses के अंदर।बल्ले फ़ाइल पाठ के निम्नलिखित ब्लॉक का पता लगाने:

अगर परिभाषित उत्पादन गोटो अनुप्रेषित
कॉल "% java_exe%" -Djava.ext.dirs = "% frameworkdir%" com.android.multidex.MainDexListBuilder "% disableKeepAnnotated% ""% tmpJar% ""% पैरामीटर% "
गोटो afterClassReferenceListBuilder
: अनुप्रेषित कॉल"% java_exe% "-Djava.ext.dirs ="% frameworkdir% "com.android.multidex.MainDexListBuilder"% disableKeepAnnotated % ""% tmpjar% ""% params% "1>"% output% "
: afterClassReferenceListBuilder

और के साथ बदलें:

सेट पैरामीटर =% पैरामीटर: '=%
परिभाषित उत्पादन गोटो अनुप्रेषित
कॉल "% java_exe%" -Djava.ext.dirs = "% frameworkdir%" कॉम यदि। android.multidex.MainDexListBuilder% disableKeepAnnotated% "% tmpJar%"% पैरामीटर%
गोटो afterClassReferenceListBuilder
: अनुप्रेषित कॉल "% java_exe%" -Djava.ext.dirs = "% frameworkdir%" com.android.multidex.MainDexListBuilder % अक्षम कुंजीपटल%%%%%%%%%>>% आउटपुट% "
: afterClassReferenceListBuilder

  1. स्वच्छ और फिर से निर्माण करें।
+0

यह मेरी समस्या नहीं उठा रहा है .. क्या इससे आपकी मदद मिली? –

+0

हाँ मेरे साथियों और मेरे लिए यह काम किया। –

+0

यह मेरे लिए भी काम नहीं करता था – thumbmunkeys

2

जो लोग नहीं है एंड्रॉयड एसडीके वास्तविक स्थान के साथ साथ ANDROID_HOME env चर बदलने के लिए, एक सरल लिंक पर्याप्त है:

mklink /D "C:\android-sdk" "C:\Program Files (x86)\Android\android-sdk" 
संबंधित मुद्दे