visual studio - ¿Sé si necesito Multi-Dex habilitado?(ClassNotFoundException)
visual-studio xamarin (2)
De repente y aparentemente sin razón alguna, el siguiente error comienza a presentarse. Después de luchar todo el día, descubrí que habilitar Multi-Dex lo resolvió. ¿Es este error potencialmente causado por mi incumplimiento del umbral de referencia de 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)
¿En algún lugar puedo ver el recuento de referencias? ¿Cómo sé si superé esto, específicamente en VS?
java.lang.ClassNotFoundException: no se encontró la clase
Este es un problema conocido en la creación del archivo Java
classes.zip
en la siguiente versión:
4 de diciembre de 2017 - Xamarin.Android 8.1.0.24
- Esta versión está incluida en el lanzamiento de Visual Studio 2017 versión 15.5.
Java.lang.ClassNotFoundException
Hemos tenido varios informes sobre aplicaciones que se ejecutan en una excepción "Java.Lang.ClassNotFoundException: No se encontró la clase en la ruta: DexPathList".
Error: developer.xamarin.com/releases/android/xamarin.android_8/…
Corrección de GitHub PR: github.com/xamarin/xamarin-android/pull/1142
Solución alternativa:
Puede
limpiar / reconstruir
como solución alternativa en Windows para recrear el archivo Java
classes.zip
Primero, puede contar las referencias de métodos (y ver otra información útil) usando la herramienta APK Analyzer.
Se envía con Android Studio;
puede encontrarlo en el menú Generar y también está disponible desde la línea de comandos con
apkanalyzer.
En segundo lugar, recibirá un error de compilación que indica que necesita usar múltiples dex. Parece que:
trouble writing output: Too many field references: 131000; max is 65536. You may try using --multi-dex option.
Más aquí: https://developer.android.com/studio/build/multidex.html