visual studio क्या मुझे पता है कि क्या मुझे मल्टी-डेक्स सक्षम होना चाहिए?(कक्षा में कोई भी अपवाद नही है)




visual-studio xamarin (2)

java.lang.ClassNotFoundException: क्लास नहीं मिली

यह निम्नलिखित रिलीज़ में Java classes.zip फ़ाइल के निर्माण में एक ज्ञात समस्या है:

4 दिसंबर, 2017 - ज़मारिन।एंड्रॉयड 8.1.0.24

  • यह संस्करण दृश्य स्टूडियो 2017 संस्करण 15.5 रिलीज़ में शामिल है।

Java.lang.ClassNotFoundException

हमारे पास "Java.Lang.ClassNotFoundException: चलन में वर्ग नहीं मिला: DexPathList" अपवाद के अनुप्रयोगों के संबंध में कई रिपोर्टें हैं।

बग: developer.xamarin.com/releases/android/xamarin.android_8/…

GitHub PR fix: github.com/xamarin/xamarin-android/pull/1142

युक्ति:

जावा classes.zip फ़ाइल को पुनः बनाने के लिए आप विंडोज पर वर्कअराउंड के रूप में साफ / पुनर्निर्माण कर सकते हैं

https://code.i-harness.com

बिना किसी कारण के अचानक और प्रतीत होता है, निम्नलिखित त्रुटि स्वयं प्रस्तुत करना शुरू कर देती है। पूरे दिन इसे लड़ने के बाद, मैंने पाया कि मल्टी-डेक्स ने इसे हल किया। क्या यह त्रुटि 64k संदर्भ सीमा के उल्लंघन के कारण संभावित रूप से है?

java.lang.RuntimeException: Unable to instantiate application md52323d240c954a07dbdbeb3f1c41a0cab.MainApplication: java.lang.ClassNotFoundException: Didn't find class "md52323d240c954a07dbdbeb3f1c41a0cab.MainApplication" on path: DexPathList[[zip file "/data/app/com.myapp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp-1/lib/arm64, /data/app/com.myapp-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:823)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5529)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1576)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:241)
at android.app.ActivityThread.main(ActivityThread.java:6281)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

कहीं मैं संदर्भों की गिनती देख सकता हूं? मुझे कैसे पता चलेगा कि मैंने इसे पार किया है - विशेष रूप से वीएस में।


सबसे पहले, आप एपीके एनालाइज़र टूल का उपयोग करके विधि संदर्भ (और अन्य उपयोगी अंतर्दृष्टि देख सकते हैं) की गणना कर सकते हैं। इसे एंड्रॉइड स्टूडियो के साथ शिप किया गया है; आप इसे बिल्ड मेनू के अंतर्गत पा सकते हैं और यह apkanalyzer. साथ कमांड लाइन से भी उपलब्ध है apkanalyzer.

दूसरा, आपको एक बिल्ड एरर मिलेगा जो यह बताता है कि आपको मल्टी डेक्स का उपयोग करने की आवश्यकता है। ऐसा लग रहा है:

trouble writing output: Too many field references: 131000; max is 65536. You may try using --multi-dex option.

यहाँ और अधिक: https://developer.android.com/studio/build/multidex.html





visual-studio-2017