Android java.lang.NoClassDefFoundError

Tengo un proyecto de Android en eclipse IDE que funcionaba. Después de algunas importaciones y pruebas, obtengo el error: java.lang.NoClassDefFoundError .

En mi proyecto tengo dos paquetes: el principal y el segundo con algunas clases.

Cuando bash instanciar un objeto de la segunda clase de paquete en la clase de actividad principal, recibo este error.

Aquí está el logcat:

 FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.neurospeech.wsclient.MDPIforEditorialBoard at milos.mdpi.Journals.(Journals.java:41) at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1409) at android.app.Instrumentation.newActivity(Instrumentation.java:1040) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1777) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893) at android.app.ActivityThread.access$1500(ActivityThread.java:135) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:150) at android.app.ActivityThread.main(ActivityThread.java:4389) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) at dalvik.system.NativeStart.main(Native Method) 

Encontré la solución a mi problema:

La solución se puede encontrar aquí: http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

¿Has actualizado recientemente tu complemento Android eclipse (adt r17)? Entonces el siguiente enlace podría ayudar:

Cómo arreglar la clasedefnotfounderror con adt-17

Actualización: ha pasado un año desde que surgió la pregunta. Guardaré el enlace, porque incluso en 2013 parece ayudar a algunas personas a resolver el problema. Pero por favor, tenga cuidado con lo que está haciendo, vea el comentario de Erics a continuación. La versión actual de ADT es 22, recomiendo usar la versión más actual.

Edite la ruta de comstackción en este orden, esto funcionó para mí.

Asegúrese de que /gen es before /src

enter image description here

Solucioné el problema simplemente agregando bibliotecas privadas del proyecto principal para exportar aquí:

 Project Properties->Java Build Path->Order And Export 

Y asegúrese de que las bibliotecas privadas de Android estén marcadas.

Captura de pantalla:

enter image description here

Asegúrese de que google-play-services_lib.jar y google-play-services.jar estén marcados. Limpie el proyecto y vuelva a ejecutar y la excepción classNotfound desaparece.

Imagen

Vaya a Pedido y exporte de las propiedades del proyecto y asegúrese de incluir los flasks necesarios en la exportación. Esto lo hizo por mí.

Me he encontrado con este problema varias veces abriendo proyectos antiguos que incluyen otras bibliotecas de Android. Lo que funciona para mí es:

mueva Android a la parte superior en la pestaña Ordenar y exportar y anule la selección.

Sí, esto realmente hace la diferencia. ¡Tal vez sea hora de que abandone ADT para Android Studio!

También puede obtener este error si intenta incluir un jar comstackdo con jdk 1.7 en lugar de 1.6.

En mi caso, me di cuenta de esto tratando de empaquetar mi aplicación con los scripts Ant provistos por el SDK, en lugar de ADT, y noté estos errores, que ADT no me mostró:

  [dex] Pre-Dexing libjingle_peerconnection.jar -> libjingle_peerconnection-2f82c9bf868a6c58eaf2c3b2fe6a09f3.jar [dx] [dx] trouble processing: [dx] bad class file magic (cafebabe) or version (0033.0000) [dx] ...while parsing org/webrtc/StatsReport$Value.class [dx] ...while processing org/webrtc/StatsReport$Value.class 

Recompuse mi jar con jdk 1.6 y se corrigió el error.

Pruebe ir a Project -> Properties -> Java Build Path -> Order & Export y confirme que las bibliotecas privadas de Android están marcadas para su proyecto y para todos los demás proyectos de biblioteca que está utilizando en su aplicación.

Después de verificar la ruta de comstackción de Java, a continuación, agregue líneas de código en el archivo de manifiesto.