Error Android – java.lang.NoClassDefFoundError sin motivo aparente
Este error puede darse de manera inesperada -antes funcionaba todo correctamente y de repente da este error- o por haber actualizado el ADT.
Se muestra el siguiente error en el Log que proviene de una de nuestras clases que hemos creado:
E/AndroidRuntime(5410): Caused by: java.lang.NoClassDefFoundError: miPropiaClaseDeEsteProyecto
También puede darse por alguna librería importada, como por ejemplo con la librería "libGoogleAnalyticsV2.jar", mostrando:
E/AndroidRuntime(5410): Caused by: java.lang.NoClassDefFoundError: com.google.analytics.tracking.android.EasyTracker
O como por ejemplo con la librería "gcm.jar", mostrando:
E/AndroidRuntime(5410): Caused by: java.lang.NoClassDefFoundError: com.google.android.gcm.GCMRegistrar
Solución 1
Probaremos limpiando el proyecto.
Nota: Recomendamos hacer una copia de seguridad del proyecto antes de continuar. Limpiar suele ser seguro, pero alguna vez limpia cosas de más.
Para ello iremos a la barra de herramientas a "Project" y en el menú desplegable a "Clean…"
En la ventana que se nos abre seleccionaremos "Clean projects selected below" para poder seleccionar el proyecto que queremos limpiar, lo seleccionamos y pulsamos "OK".
Comprobamos que funcione. Si sigue sin funcionar probamos la solución 2.
Solución 2
Primero miramos que la carpeta donde están los jar se llama "libs".
Sino es así hay que renombrarla (a veces está como "lib" sin la "s"; "lib" sin "s" está mal nombrada, renombrar a "libs"). Para renombrar la carpeta pulsamos con le botón derecho del ratón sobre ella, luego elegimos "Refactor" y después "Rename…". En la ventana emergente que se abre le ponemos el nombre "libs" y aceptamos.
Echo lo anterior, continuamos. Pulsamos con el botón derecho del ratón sobre el proyecto. Seleccionamos "Build Path" y luego "Configure Build Path…".
En la pestaña "Order and Export". Veremos seguramente que están desmarcados los ".jar". Marcamos todos los que haya (Seguramente tengamos el que se llama "android-support-v4.jar"; en este ejemplo se ven otras dos librerías muy usadas en Android que son "gcm.jar" y "libGoogleAnalyticsV2.jar", podrías tener otras). Pulsamos el botón de "OK".
Probamos. Si sigue sin funcionar limpiamos el proyecto una última vez (hacer o rehacer la solución 1 y probar de nuevo). Ya debería de volver a funcionar todo correctamente.
BUENISIMO!!!!
Una Ayuda buenisima. He tenido que hacer los dos pasos consecutivamente, y problema RESUELTO!
MUCHISIMAS GRACIAS!!