У меня есть проект Xamarin, который работал некоторое время. Недавно (несколько месяцев назад) пришлось включить MultiDex
. По какой-то причине вчера он начал отказываться работать на устройствах с Android 4.2. Это работало нормально, и я не уверен, что изменилось, чтобы повлиять на него. Мы видим, что это сообщение в журнале Android:MultiDex для 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
Из того, что я могу сказать, что это происходит из-за класс приложения быть перечислены в неправильном classes.dex
файле. Это основано на том, что я прочитал здесь: http://www.jon-douglas.com/2016/09/05/xamarin-android-multidex/
Однако, когда я модифицировать mainClassesDex.bat
как это было предложено, это не решает проблему. Я что-то упускаю?
HTTP: // StackOverflow .com/questions/26925264/android-support-multidex-library-implementation – Hamidreza
Вы пытались использовать 'android.support.multidex.MultiDexApplication' для своего' MultiDex', как указано в блоге, который вы опубликовали? –
Увидев, что он пытается найти «mono.android.app.Application» в списке dex, он предлагает, что предлагает Элвис Ся, а также что у вас могут не быть подходящие классы запуска, определенные в вашем 'classes.dex' (Main dex список). Вы можете просмотреть мой блог о том, как переопределить эти значения. http://www.jon-douglas.com/2016/09/23/xamarin-android-multidex-keep/ Обратите внимание, что самый простой способ получить общую идею для вашего файла 'multiidex.keep' - это позволить он генерируется в соответствии с нормальным, а затем копирует его в пользовательский 'multidex.keep'. Затем вы можете добавить/вычесть классы, которые вам нужны в основном списке. –