J'ai un assez gros projet d'application Android qui fait référence à plusieurs projets de bibliothèque. Tout allait bien jusqu'à ce que je mette à jour le plugin eclipse ADT vers la dernière version (v22). J'ai également mis à niveau le SDK bien sûr. Je ne vois aucune erreur de compilation dans Eclipse, mais lorsque j'exécute le projet sur le téléphone, j'obtiens un NoClassDefFoundError.
java.lang.NoClassDefFoundError: org.acra.ACRA
....
La bibliothèque arca est incluse dans l'un des projets de bibliothèque référencés (dans le dossier libs) et je peux le voir dans les "bibliothèques privées Android" dans l'explorateur de packages, également comme je l'ai dit, aucune erreur de compilation. Le projet fonctionne bien sur l'ordinateur de tous les autres utilisateurs qui n'ont pas mis à niveau ADT.
J'ai déjà essayé tout un tas de choses, y compris mais sans s'y limiter:
- réinstaller le SDK Android
- télécharger un nouveau pack ADT
- supprimer tout mon code et le récupérer de git
- copier la bibliothèque en question dans le projet d'application
- commenter le code qui utilise cette bibliothèque - je reçois juste la même erreur pour la bibliothèque suivante
le tout sans succès, donc je suis vraiment désespéré ici.
Je serais vraiment heureux si quelqu'un pouvait me donner un indice sur la façon de résoudre ce problème.
libs/
, mais vous pouvez aussi les vérifier pour tous, au cas où vous ajouteriez des élémentslibs/
quelques mois plus tard et oublieriez cela.La simple vérification des bibliothèques privées Android ne suffisait pas, j'ai également dû installer les outils de création de SDK Android dans le gestionnaire de SDK Android.
la source
J'ai aussi eu le même problème et mon
adt
été22.0.1
. Et aucune des solutions ci-dessus n'a fonctionné. De plus, lors de l'ajout d'un projet de bibliothèque externe à un projet de travail, je vérifie toujours legen
dossier du projet de travail et si leR
projet de bibliothèque externe est là (avec le nom du package), alors seul le projet de bibliothèque externe est exporté. Et sur mongen
dossier, aucunepackagename
bibliothèque externe n'a été affichée.J'ai donc vérifié sur le
project.properties
fichier et il n'y avait aucun lien de bibliothèque externeandroid.library.reference.1=
présent. J'ai donc ajouté manuellement la référence de la bibliothèque externe là-bas, même si j'avais ajouté depuisproject->properties->Java Build Path->Projects->Add
. L'édition manuelle a doncproject.properties
fait tout le travail pour moi.la source
android.library.reference.n
n'est pasjava build path
, mais plutôtproject
->properties
->Android
->Library
->Add...
. Un piège .J'ai rencontré un problème similaire, passé environ 3 heures, mais aucune des décisions proposées ici n'a pas aidé ... Enfin, j'ai trouvé une source du problème: mes fichiers de projet & project.properties étaient en lecture seule. Eclipse ignore simplement en silence toutes les modifications des dépendances de bibliothèque lorsque je le fais dans l'interface graphique!
la source
J'ai eu le même problème. C'était à cause du projet Eclipse. Pour le résoudre, j'ai créé un nouveau projet dans eclipse, copié mes classes de projet et ressources existantes dedans, puis relancé eclipse et ajouté mes inclusions personnalisées.
la source
J'ai eu le même problème et ma réponse est légèrement différente de celle de CommonsWare. Voici ma capture d'écran:
Après avoir vérifié les bibliothèques dans ma build, j'ai recommencé à travailler.
la source
Android Dependencies
a été remplacé parAndroid Private Libraries
et pourrait ne pas être encore là pour des raisons héritées. Je suppose qu'il pourrait être supprimé à tout moment.J'ai aussi eu le même problème,
i) ajouter gson lib comme librairies référencées
ii) le vérifier dans java Build Path
la source