Error Android – java.lang.NoClassDefFoundError sin motivo aparente
Cómo resolver el error NoClassDefFoundError en Android tras actualizar el ADT: limpiar el proyecto y marcar los .jar de la carpeta libs en Build Path.
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".
Si no 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 el 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.
Hecho 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.
«Error Android – java.lang.NoClassDefFoundError sin motivo aparente», de Ramón Invarato en jarroba.com, con licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0. Obra registrada en Safe Creative.

Te puede interesar
Error Android – Error en las librerías importadas
Cómo resolver en Eclipse el error «Conversion to Dalvik format failed with error 1» limpiando las librerías del proyecto Android y revisando el Java Build Path.
Error Android – Eclipse lanza un error que no existe por ningún lado
Eclipse marca una X roja en el proyecto Android sin error real: R.java no se regenera. Seis soluciones, de nombres de recursos en res a Project > Clean.
Error Android – Referencias perdidas
Cómo solucionar en Android el error «The type java.lang.String cannot be resolved» eliminando los imports de la clase y reorganizándolos con Control+Shift+O.
Error Android – Salto de algún archivo indexado
Cómo resolver en Android el error «skipping index file»: elimina el archivo del proyecto, límpialo con Project/Clean y vuelve a copiar el archivo.







Deja un comentario