Référence de projet externe dans android
J'ai une application android qui utilise un autre projet comme un projet de référence. je suis allé dans les options de l'application, de construire un chemin, puis sélectionné le projet dans les références du projet.
tout se construit et se déploie bien, mais quand j'essaye d'exécuter l'application et instancier une classe dans ce projet, je suis un java.lang.NoClassDefFoundError errrrrr.
je ne suis pas un projet java expert, donc je suppose que j'ai mise en évidence quelque chose de simple. des idées?
source d'informationauteur bryan costanich
Vous devez vous connecter pour publier un commentaire.
Sur Eclipse, allez dans "Android-Projet" -> Propriétés -> Java Build Path -> Ordre et de l'Expert, puis sélectionnez le projet java que vous souhaitez importer et de le déplacer sur le dessus de toutes les entrées.
Il y a certains solution de contournement pour ce problème. Vous pouvez vérifier vous de la bibliothèque comme Android bibliothèque:
Clic droit sur le projet/propriétés/Android onglet - "bibliothèque".
Et puis dans votre projet principal:
Clic droit sur le projet/propriétés/Android tab -> Add (ajouter votre projet de bibliothèque).
Cependant, votre bibliothèque doit être de la forme Eclipse Android premier projet (de sorte que "Android" est disponible dans les propriétés du projet).
Je l'ai fait et je n'ai pas NoClassDefFoundError plus. Encore cette solution est bonne pour le développement précoce. Si vous bibliothèque est stable, vous devriez faire un pot et de les inclure dans votre projet principal (et de supprimer les références à Android bibliothèque).
Je vais avoir des problèmes similaires. J'ai un vieux projet que j'utilise comme un espace de noms pour certains des mathématiques et des fonctions 3D - j'aimerais partager cette entre android et mon autre code java. Le problème, c'est la putain de chose se bloque dès que je instansiate même un type POD à partir de ma bibliothèque. Mon projet externe ne génère pas un fichier jar; il est seulement utilisé comme un espace de noms.
Je suppose qu'il y a certains moment de l'exécution de la liaison question qui est à l'origine de ce mais android, eclipse et java sont collectivement me donne un grand total d'aucune aide que ce soit.
Je vais avoir le même problème. Peu de recherches m'a conduit à Projet de Bibliothèqueégalement mentionné dans ce post. Mais l'esprit ceci:
"Vous pouvez également désigner un projet Android comme un projet de bibliothèque, ce qui lui permet d'être partagée avec d'autres projets qui en dépendent. Une fois un projet Android est désigné comme un projet de bibliothèque, il ne peut pas être installé sur un appareil."
Vous pouvez trouver plus d'info:
http://developer.android.com/tools/projects/projects-eclipse.html
et aussi
https://groups.google.com/forum/?fromgroups#!topic/android-développeurs/C0pddRNGZVs
Je suis récemment tombé sur un très semblables et peut-être le même problème. Android n'est pas comme les références à des projets et jeter ces la réflexion des exceptions si vous essayez d'avoir votre projet android se référer à un autre projet.
Il n'est pas comme avoir des pots sur le chemin de génération, ce que vous devez faire est d'exporter les projets que vous souhaitez inclure dans votre projet android et de les placer dans le dossier libs. Ce dossier est généralement créé lorsque le projet est créé, sinon il suffit de faire vous-même, il va à la racine de votre projet. Android va automatiquement chercher si theyre là.
Également très important, si votre projet externe dépend aussi d'autres projets dont vous avez besoin pour exporter ces autres projets, et également placer les bocaux dans l' /libs dossier du projet android.
C'est le cas pour la version la plus récente d'android comme de 22/07/2012. Il peut ne pas s'appliquer si votre e l'utilisation d'une ancienne version d'android.
Vous devrez peut-être inclure un POT de la source compilé de votre projet dépendant aux côtés de la mère. Android aurez besoin d'avoir les fichiers de classe de sorte qu'il peut recompiler en bytecode Dalvik et la rendre disponible dans le classpath.
Cette vidéo peut vous aider, prises de cette question.
Si votre projet externe dépend d'autres bocaux dans son classpath assurez-vous qu'ils sont exportés et les pousser vers le haut de la liste d'exportation dans Eclipse. J'ai eu le même NoClassDef erreur renvoyé sur une classe qui était en projet mais le véritable problème avec l'exportation afin de les pots, il dépendait. A bien fonctionné après que j'ai fixé ce.
Contexte: le Développement d'une JSP site web qui s'interface avec plusieurs appareils Android à travers le web. Nécessite commun des classes.
Mesures prises:
Pour le projet java contenant votre commune de classes:
1) (ne rien faire)
Pour votre Application Android projet:
1) les propriétés du Projet->Java Build Path->onglet Projets->Ajouter...
2) propriétés du Projet->Références de Projet->set case en conséquence
3) [en tant Que Matthieu dit ci-dessus (et c'était juste ce dont j'avais besoin)] "Android-Projet" -> Propriétés -> Java Build Path -> Ordre et de l'Expert, puis sélectionnez le projet java que vous souhaitez importer et de le déplacer sur le dessus de toutes les entrées.
Pour votre JSP projet de site web:
1) les propriétés du Projet->Java Build Path->onglet Projets->Ajouter...
2) propriétés du Projet->Références de Projet->set case en conséquence