Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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?

  • Importar proyecto android en ADT Eclipse de github
  • No puede encontrar annotations.jar después de actualizar a ADT 23
  • Adjuntar depurador Eclipse a la aplicación reiniciada
  • Eclipse Indigo - No se puede instalar el complemento ADT de Android
  • Ubicación del archivo ADT de Keystore Eclipse
  • "La conexión con adb fue interrumpida." Han intentado TODO
  • Barra de Acción de Android Botón Arriba versus Sistema Botón Atrás
  • SearchView Expandir / contraer la animación en Android
  • ¿Cómo desplazar horizontalmente RecyclerView de forma programática?
  • Sincronización del modelo de base de datos parcial del servidor con el cliente
  • ¿Cómo agregar atributos de CardView al tema de la aplicación?
  • ¿Qué es dexopt? (Comando de Shell de Android)
  • 10 Solutions collect form web for “Gson NoClassDefFoundError después de que las herramientas ADT y SDK se actualicen a v17”

    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" /> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.