Ich habe ein Xamarin-Projekt, das seit einiger Zeit funktioniert. Wir haben vor kurzem (vor ein paar Monaten) MultiDex
aktivieren müssen. Aus irgendeinem Grund hat es sich gestern geweigert, auf Geräten mit Android 4.2 zu arbeiten. Das hatte gut funktioniert und ich bin mir nicht sicher, was sich geändert hat, um es zu beeinflussen. Wir sehen diese Nachricht im Android log:MultiDex für Android 4.2
> 01-10 08:12:09.903 E/AndroidRuntime(20781): FATAL EXCEPTION: main
> 01-10 08:12:09.903 E/AndroidRuntime(20781):
> java.lang.RuntimeException: Unable to instantiate application
> mono.android.app.Application: java.lang.ClassNotFoundException: Didn't
> find class "mono.android.app.Application" on path:
> /data/app/com.afs.dsd_mobile-1.apk
Von dem, was ich dies ist aufgrund der Anwendungsklasse sagen kann, in der falschen classes.dex
-Datei aufgelistet werden. Dies basiert auf, was ich hier lesen: http://www.jon-douglas.com/2016/09/05/xamarin-android-multidex/
Allerdings, wenn ich das mainClassesDex.bat
ändern, wie vorgeschlagen, ist es nicht das Problem zu beheben. Fehle ich etwas?
http: // Stackoverflow .com/questions/26925264/android-support-multidex-library-implementation – Hamidreza
Haben Sie versucht, 'android.support.multidex.MultiDexApplication' für Ihren' MultiDex' zu verwenden, wie in dem von Ihnen geposteten Blog erwähnt? –
Da es versucht, "mono.android.app.Application" auf der Dex-Liste zu finden, schlägt es vor, was Elvis Xia vorschlägt und auch, dass Sie nicht die richtigen Startup-Klassen in Ihrem 'classes.dex' definiert haben (Main dex Liste). In meinem Blog erfahren Sie, wie Sie diese Werte überschreiben können. http://www.jon-douglas.com/2016/09/23/xamarin-android-multidex-keep/ Bitte beachten Sie, dass der einfachste Weg, um eine allgemeine Idee für Ihre Datei "multidex.keep" zu erhalten, ist es lassen es erzeugt wie normal und dann kopieren Sie das in Ihre benutzerdefinierte 'multidex.keep'. Sie können dann die benötigten Klassen in der Hauptliste hinzufügen/subtrahieren. –