Gson NoClassDefFoundError después de que las herramientas ADT y SDK se actualicen a v17

Hoy he actualizado mis herramientas de ADT y SDK a v17 y mis proyectos usando la biblioteca de gson jar de Google comenzó a lanzar NoClassDefFoundError. Aquí está la salida logcat:

> 03-22 12:30:58.941: E/AndroidRuntime(21672): FATAL EXCEPTION: main > 03-22 12:30:58.941: E/AndroidRuntime(21672): > java.lang.NoClassDefFoundError: com.google.gson.Gson 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > com.matriksdata.conn.XRequestHandler.connect(XRequestHandler.java:35) > 03-22 12:30:58.941: E/AndroidRuntime(21672): at > com.matriksdata.conn.XRequestHandler.makeRequest(XRequestHandler.java: > 29) 03-22 12:30:58.941: E/AndroidRuntime(21672): at > com.matriksdata.bavul.XBaseWithConnectionActivity.makeRequest(XBaseWithConnectionActivity.java: > 46) 03-22 12:30:58.941: E/AndroidRuntime(21672): at > com.matriksdata.ui.login.SplashScreenActivity.onCreate(SplashScreenActivity.java: > 36) 03-22 12:30:58.941: E/AndroidRuntime(21672): at > android.app.Activity.performCreate(Activity.java:4465) 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > android.app.Instrumentation.callActivityOnCreate(Instrumentation.java: > 1049) 03-22 12:30:58.941: E/AndroidRuntime(21672): at > android.app.ActivityThread.performLaunchActivity(ActivityThread.java: > 1919) 03-22 12:30:58.941: E/AndroidRuntime(21672): at > android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: > 1980) 03-22 12:30:58.941: E/AndroidRuntime(21672): at > android.app.ActivityThread.access$600(ActivityThread.java:122) 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146) > 03-22 12:30:58.941: E/AndroidRuntime(21672): at > android.os.Handler.dispatchMessage(Handler.java:99) 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > android.os.Looper.loop(Looper.java:137) 03-22 12:30:58.941: > E/AndroidRuntime(21672): at > android.app.ActivityThread.main(ActivityThread.java:4340) 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > java.lang.reflect.Method.invokeNative(Native Method) 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > java.lang.reflect.Method.invoke(Method.java:511) 03-22 12:30:58.941: > E/AndroidRuntime(21672): at com.android.internal.os.ZygoteInit > $MethodAndArgsCaller.run(ZygoteInit.java:784) 03-22 12:30:58.941: > E/AndroidRuntime(21672): at > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 03-22 > 12:30:58.941: E/AndroidRuntime(21672): at > dalvik.system.NativeStart.main(Native Method) 

¿algunas ideas?

Me enfrenté a un problema similar hoy.

Esto me lo arregló:

  • Quite todos los proyectos de la Biblioteca de Android y tarros externos de la ruta de construcción.
  • Cree una carpeta llamada 'libs' en su proyecto.
  • Coloque todos los .jars externos en esa carpeta, el ADT ahora debe colocarlos en 'Android dependencias'.
  • Vuelva a importar todos los proyectos anteriores de la Biblioteca Android de la forma habitual.

El problema es que las jarras externas no se colocan en la carpeta 'libs' de forma predeterminada cuando se utiliza Propiedades – Java Build Path- Agregar jar externo, en lugar de eso se colocan en 'Referenced Libraries' en lugar de 'Android dependencies' y esto hace que NoClassDefFoundError.

Consulte Tratamiento de dependencias en proyectos de Android para obtener más detalles.

  1. Haga clic con el botón secundario en el proyecto y seleccione Propiedades
  2. Vaya a Java Build Path-Order y Exportar.
  3. Tick ​​'Android Private Libraries'
  4. Haga clic en Project, Clean

Para SDK Tools 17 necesita cambiar el nombre de la carpeta de su proyecto de biblioteca de "lib" a "libs" como se sugiere aquí . También echar un vistazo a esto .

Este sitio tiene la solución más simple que funcionó para mí, seleccione la casilla de verificación de la biblioteca en "Pedido y exportación".

http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

He creado una publicación rápida en mi blog que explica cómo solucionar esos problemas. Tiene que ver con las bibliotecas y con un cambio en cómo Eclipse administra las bibliotecas ahora. Puede comprobarlo aquí si lo desea: http://xrigau.wordpress.com/2012/03/22/fix-some-problems-with-libraries-in-the-adt-17-plugin-10/

Compruebe el pedido y seleccione

 Project->Properties->Java build path->Order and Export: 

Ordene y seleccione:

 select Google APIs (optional) select Dependencies select Android Private Libraries [-] src [-] gen 

Y en las librerías de fichas:

Dependencias Bibliotecas privadas (frascos en el directorio 'libs') Otros

Trabajó para mí!

Compruebe su biblioteca de gson en la trayectoria de la estructura. Quizás libris de gson no son accesibles.

Este es un enlace oficial proporcionado por Android Devs en Google. Revise el artículo si se enfrenta a NoClassDefFoundException después de actualizar el complemento y / o SDK

https://plus.google.com/115995639636688350464/posts/38o8ZA6xQK4

Descargar el tarro de GSON y hacer como ruta de clase

Estoy utilizando GSON en un proyecto de biblioteca, por lo que para resolver este problema más allá de agregar el tarro GSON en la ruta de construcción, necesitaba declararlo en mi manifiesto del proyecto de la biblioteca como el siguiente:

 <uses-library android:name="com.google.gson" /> 
  • Excepción de mapas de Android java.lang.NoClassDefFoundError: android.security.MessageDigest
  • No se pudo encontrar la clase referenciada desde el método android java.lang.NoClassDefFoundError
  • ¿Cómo puedo arreglar NoClassDefFoundError en Android para android.widget.PopupMenu?
  • NoClassDefFoundError - Rechazo de re-init en la clase con fallo anterior
  • Error de Eclipse: NoClassDefFoundError: java / lang / ref / FinalReference
  • Java.lang.NoClassDefFoundError: en dalvik.system.NativeStart.main (Método nativo)
  • Eclipse: java.lang.NoClassDefFoundError para clases JDK en un proyecto de Android
  • ClassDefNotFoundError en mis propias clases
  • NoClassDefFoundError Android Project
  • La biblioteca de Android no funciona con Java 8
  • ActionBarSherlock: java.lang.NoClassDefFoundError: com.actionbarsherlock.R $ styleable
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.