NoClassDefFoundError – Rechazo de re-init en la clase con fallo anterior
Por favor, alguien me explique qué significa este error y cómo evitarlo.
Después de un tiempo mi aplicación Force Cierra debido a este error:
- NoClassDefFoundError en Android
- Añadiendo el tiempo de Joda
- Gson NoClassDefFoundError después de que las herramientas ADT y SDK se actualicen a v17
- NoClassDefFoundError durante la ejecución de la prueba de Android JUnit
- Okhttp NoClassDefFoundError
09-28 12:53:45.746 I/dalvikvm(29489): Rejecting re-init on previously-failed class Lcom/bartat/android/ui/task/AsyncTaskExt; v=0x0 09-28 12:53:45.748 D/AndroidRuntime(29489): Shutting down VM 09-28 12:53:45.755 I/am_crash( 1146): [29489,com.bartat.android.secret,572996,java.lang.NoClassDefFoundError,com.bartat.android.ui.task.AsyncTaskExt,CommandsActivity.java,726] 09-28 12:53:45.755 I/am_finish_activity( 1146): [1079225264,123,com.bartat.android.secret/.CommandsActivity,crashed] 09-28 12:53:45.750 W/dalvikvm(29489): threadid=1: thread exiting with uncaught exception (group=0x40015560) 09-28 12:53:45.752 E/AndroidRuntime(29489): FATAL EXCEPTION: main 09-28 12:53:45.752 E/AndroidRuntime(29489): java.lang.NoClassDefFoundError: com.bartat.android.ui.task.AsyncTaskExt
Este problema no se pudo resolver reinstalando la aplicación.
Si cambio de nombre AsyncTaskExt
a AsyncTaskExt2
por ejemplo, entonces funciona de nuevo por mucho tiempo. Pero después de algunas semanas / meses empezó a obtener este error de nuevo.
Qué significa eso? ¿Por qué se lanza y cómo evitarlo sin cambiar el nombre de la clase?
Por favor, ayúdame, Tamás
- Java.lang.NoClassDefFoundError en versiones anteriores de Android SDK
- ¿Cómo puedo arreglar NoClassDefFoundError en Android para android.widget.PopupMenu?
- NoClassDefFoundError: android.app.ANRManagerProxy
- NoClassDefFoundError en un jar anidado (Android)
- Java.lang.NoClassDefFoundError: en dalvik.system.NativeStart.main (Método nativo)
- Java.lang.NoClassDefFoundError: com.facebook.android.Facebook
- ActionBarSherlock: java.lang.NoClassDefFoundError: com.actionbarsherlock.R $ styleable
- Runtime Execption java.lang.NoClassDefFoundError: retrofit2.Platform en Android
Esto ocurre cuando una clase no se puede cargar por una variedad de razones. Desafortunadamente, el nuevo tiempo de ejecución de ART no registra suficiente información sobre la causa de esto. Si usted puede conseguir el asimiento de un dispositivo androide más viejo con Dalvik usted verá la registración diferente, revelando generalmente la ofensa con más precisión.
La última vez que lo vi en vivo tuve que lidiar con un archivo JAR que realmente no incluía o listar sus dependencias, por lo que agregar la biblioteca dependiente derecha al archivo gradle lo resolvió. El problema más grande es calcular qué clases faltaron – algo que los registros / descompilación / documentación de dalvik podrían decirle.
Hay muchas otras razones por las que las clases no se pueden cargar en la totalidad del lenguaje Java, por lo que esta causa específica podría no aplicarse universalmente.
Debes agregar uses-library en tu AndroidManifest.xml
Empecé a tener este problema después de construir otro proyecto con la analítica de New Relic activada. Gradle daemon luego almacenó en caché el agente New Relic y no pudo iniciar la otra aplicación.
Lo que ayudó fue
./gradlew --stop
Sucede para mí solo si la ejecución instantánea está habilitada.
¿Está seguro de que es la primera excepción que está recibiendo después de ejecutar su aplicación? Puede haber algunas excepciones no captadas anteriormente.