43 votes

Gson NoClassDefFoundError après l'ADT et le SDK Outils de mise à jour v17

Aujourd'hui, j'ai mis à jour mon ADT et des Outils du kit SDK d'v17 et de mes projets à l'aide de Google gson pot bibliothèque a commencé à jeter NoClassDefFoundError. Voici le logcat de sortie:

> 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)

des idées?

77voto

Freddman Points 1759

J'ai fait face à un problème similaire aujourd'hui.

Ce qu'il est corrigé pour moi:

  • Supprimer tous les Android de projets de Bibliothèque et externes pots du build path.
  • Créez un dossier nommé "libs" dans votre projet.
  • Placer tous les externes .les bocaux dans ce dossier, l'ADT doit maintenant placer sous Android Dépendances".
  • Re-importer tous vos Android de projets de Bibliothèque de la voie normale.

Le problème est que les pots ne sont pas placés dans la "libs" dossier par défaut lors de l'utilisation de Propriétés Java Build Path - Add External Jar, au lieu de cela, ils sont placés sous "Référencée Bibliothèques" au lieu de "Android Dépendances", ce qui provoque le NoClassDefFoundError.

S'il vous plaît, vérifiez Traiter avec dépendances dans Android des projets pour plus de détails.

13voto

Natt Points 121
  1. Cliquez-droit sur le projet, et choisissez Propriétés
  2. Aller à Java Build Path-de l'Ordre et de l'Exportation.
  3. Cochez La Case " Android Privé Des Bibliothèques
  4. Cliquez Sur Le Projet, Propre

10voto

Eleni Points 475

Pour SDK Outils de 17 vous devez renommer votre projet de bibliothèque du dossier "lib" pour "libs" comme suggéré ici. Aussi jeter un oeil à ce.

5voto

Georgie Points 467

Ce site est la solution la plus simple qui a fonctionné pour moi, sélectionnez la bibliothèque de la case à cocher sous "l'Ordre et à l'Exportation".

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

2voto

Xavi Rigau Points 120

J'ai créé un petit post sur mon blog expliquant comment résoudre ces problèmes. Il a à voir avec les bibliothèques et un changement qu'ils ont fait sur comment Eclipse gère les bibliothèques. Vous pouvez le vérifier ici si vous voulez: http://xrigau.wordpress.com/2012/03/22/fix-some-problems-with-libraries-in-the-adt-17-plugin-10/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X