Aujourd'hui, j'ai mis à jour mes outils ADT et SDK vers la v17 et mes projets utilisant La bibliothèque de jar gson de Google a commencé à lancer NoClassDefFoundError . Voici la sortie 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)
des idées?
J'ai rencontré un problème similaire aujourd'hui.
Cela a résolu le problème pour moi:
Le problème est que les fichiers JAR externes ne sont pas placés par défaut dans le dossier "libs" lors de l'utilisation de Propriétés - Chemin de construction Java - Ajouter un fichier JAR externe.
Veuillez vérifier Traitement des dépendances dans les projets Android pour plus de détails.
Ce site a la solution la plus simple qui a fonctionné pour moi, cochez la case de la bibliothèque sous "Commander et exporter".
http://Android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17
J'ai créé un post rapide dans mon blog expliquant comment résoudre ces problèmes. Cela concerne les bibliothèques et une modification apportée à la façon dont Eclipse gère maintenant 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-adt17-plugin-10/
Vérifier la commande et sélectionne dans
Project->Properties->Java build path->Order and Export:
Commandez et sélectionnez:
select Google APIs (optional)
select Dependencies
select Android Private Libraries
[-] src
[-] gen
Et dans les bibliothèques d'onglets:
Dépendances Bibliothèques privées (jars dans le répertoire 'libs') Autres
Travaillé pour moi!
Ceci est un lien officiel fourni par les développeurs Android de Google . Consultez l'article si vous rencontrez NoClassDefFoundException après Mettre à jour le plugin et/ou le SDK
https://plus.google.com/115995639636688350464/posts/38o8ZA6xQK4
Vérifiez votre bibliothèque gson dans le chemin de construction. Peut-être que la bibliothèque gson n'est pas accessible.
J'utilise GSON dans un projet de bibliothèque. Par conséquent, pour résoudre ce problème au-delà de l'ajout du fichier jar GSON sur le chemin de génération, il était nécessaire de le déclarer dans le manifeste de mon projet Library, comme ci-dessous:
<uses-library Android:name="com.google.gson" />
télécharger le bocal GSON et faire en tant que chemin de classe