177 votos

NoClassDefFoundError - Eclipse y Android

Estoy teniendo un problema al intentar ejecutar una aplicación de Android que, hasta la adición de un segundo librería externa para su construcción de camino, estaba trabajando bien. Ya que después de haber añadido el scoreninja tarro, me da un NoClassDefFoundError cuando intento ejecutar la aplicación.

He aquí el mensaje:

02-11 21:45:26.154: ERROR/AndroidRuntime(3654): java.lang.NoClassDefFoundError: com.scoreninja.adapter.ScoreNinjaAdapter

Como todos los scripts generados por las herramientas de Android (?), No estoy seguro de qué más puedo hacer aparte de la limpieza y de reconstrucción o reiniciar eclipse (ya he probado los tres). ¿Alguien sabe cómo puedo corregir esto?

232voto

John O'Connor Puntos 3296

He tenido este problema después de la actualización de ADT.

Yo estaba guardar todos mis archivos JAR en una carpeta llamada "lib" y la adición de los frascos para la construcción de camino de la normal de Eclipse. Esto funcionó bien hasta que mi actualización.

Después de mi actualización, me estaba poniendo la NoClassDefFoundError para una clase que podía ver claramente fue incluido en el jar (control de salida de la ReferencedLibraries clases).

La solución fue quitar mis tarros de la construcción de camino y cambiar el nombre de mi "lib" en la carpeta "libs". Esta es una hormiga convención, y parece ser la forma en que el nuevo ADT encuentra e incluye las bibliotecas en un archivo .apk. Una vez que hice esto, todo funcionaba bien.

97voto

Till Puntos 1283

No tuve que poner la jarra-biblioteca en activos o lib(s), pero sólo marque la casilla para este frasco en propiedades-> Java Build Path-> "Orden y exportación" (era mencionado antes, pero no seleccionado)

67voto

Anthony Forloney Puntos 30083

Agregando el tarro externo en tu camino de construir sólo agrega el frasco a su paquete, pero no estará disponible durante el tiempo de ejecución.

En el fin de que la jarra esté disponible en tiempo de ejecución, necesitas:

  • Ponga la jarra bajo su assets carpeta
  • Incluir esta copia de la jarra en su camino de construir
  • Ir a la pestaña de exportación en la misma ventana emergente
  • Marque la casilla contra el tarro recién agregado

47voto

brian.clear Puntos 2424

Esto tenía para MapActivity. Se basa en Eclipse entra NoClassDefFound depurador.

Olvidado de añadir biblioteca a manifestar, en el interior <Application>...</Application> elemento

<uses-library android:name="com.google.android.maps" />

27voto

componavt Puntos 271

He cambiado el orden de los proyectos incluidos (Eclipse / Configure construir camino / orden y exportación). Me mudé mis dos proyectos dependientes a la cima de la lista de "Orden y la exportación". Solucionó el problema "NoClassDefFoundError".

Es extraño para mí. No escuché acerca de la importancia de la orden incluye bibliotecas y proyectos. Android + Eclipse es divertido :)

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X