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…"

Para Android en Eclipse hacer un Clean del proyecto 1 - www.jarroba.com

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".

Para Android en Eclipse hacer un Clean del proyecto 2 - www.jarroba.com

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".

 librerias jar en la carpeta libs en Android - www.jarroba.com

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.

Renombrar carpeta libs - www.jarroba

Echo lo anterior, continuamos. Pulsamos con el botón derecho del ratón sobre el proyecto. Seleccionamos "Build Path" y luego "Configure Build Path…".

Build Path de Eclipse para Android 1 - www.jarroba.com

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".

Build Path de Eclipse para Android 2 - www.jarroba.com

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.

Comparte esta entrada en:
Safe Creative #1401310112503
Error Android – java.lang.NoClassDefFoundError sin motivo aparente por "www.jarroba.com" esta bajo una licencia Creative Commons
Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License.
Creado a partir de la obra en www.jarroba.com

Un comentario en “Error Android – java.lang.NoClassDefFoundError sin motivo aparente”

  1. BUENISIMO!!!!

    Una Ayuda buenisima. He tenido que hacer los dos pasos consecutivamente, y problema RESUELTO!

     

    MUCHISIMAS GRACIAS!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies