Pendant que j'écrivais cette question, j'ai réussi à la résoudre, alors répétez-la ici pour le bénéfice des autres. Voici le problème initial:
J'ai créé un projet de bibliothèque très simple que je souhaite référencer dans un autre projet. Je l'ai fait auparavant sans problème, donc je ne sais pas vraiment pourquoi cela ne fonctionne pas cette fois. J'ai:
Marquage du projet de bibliothèque via les propriétés du projet. Le
default.properties
fichier a cet ensemble:android.library=true
Dans mon autre projet, j'ai ajouté une référence à mon projet de bibliothèque via les propriétés du projet. Le
default.properties
fichier a la référence ajoutée comme prévu ieandroid.library.reference.1=K:/android_test_ws/applicationRegistrar
La coche verte en regard du projet de bibliothèque référencé commence en vert puis se transforme en croix rouge.
Cela implique qu'il doit y avoir quelque chose de mal / manquant dans le projet de bibliothèque mais je ne sais pas quoi. Mon projet de bibliothèque à cette occasion est BEAUCOUP plus simple que le précédent que j'ai créé.
Réponses:
OK Voici la solution que j'ai trouvée en cherchant le fichier default.properies du projet de référencement (pas la bibliothèque) dans mon système de fichiers. Bien que le projet de référencement se trouve dans le même espace de travail Eclipse que le projet de bibliothèque, les fichiers réels se trouvent ailleurs dans le système de fichiers, c'est-à-dire qu'ils ne sont pas dans le même dossier parent du projet de bibliothèque. Dès que j'ai placé le projet de référencement dans le même dossier physique que le projet de bibliothèque, tout s'est bien passé.
Je suppose que cela doit être quelque chose à voir avec Android utilisant une fourmi sous les couvertures.
Modifier: le nom du projet doit correspondre au nom du dossier sur le système de fichiers. Ce que vous voyez dans les propriétés du projet-> Android-> Library Reference est un chemin d'accès relatif au système de fichiers.
la source
Assurez-vous que les deux projets sont présents dans le même espace de travail. Pour ce faire, lors de l'importation des projets, assurez-vous que la case "Copier le projet dans l'espace de travail" est cochée.
la source
le même problème se produira si votre projet de bibliothèque est dans une partition différente de votre espace de travail actuel. J'ai le même problème en ce moment. Ma source git est en C: et je déplace simplement mon espace de travail vers D: et tout commence à s'effondrer.
la source
Le moyen le plus simple d'obtenir les chemins des chemins de bibliothèque corrects consiste à utiliser l'interface graphique d'Eclipse pour ajouter la bibliothèque comme indiqué dans la capture d'écran suivante et laisser Eclipse se charger de placer les chemins relatifs corrects dans project.properties. C'est une configuration courante pour héberger vos projets de bibliothèque dans des répertoires très différents de vos projets principaux qui utilisent la bibliothèque. Cette méthode fonctionnera si le "projet de bibliothèque" et le projet qui l'utilise sont dans le même "espace de travail" éclipse (ils "n'ont pas besoin" d'être dans le même dossier parent):
la source
Veuillez vous assurer que le projet de bibliothèque est marqué comme "Est une bibliothèque" - cliquez avec le bouton droit sur le projet de bibliothèque - propriétés - Android - cochez la case "Est une bibliothèque" - dans project.properties du projet de bibliothèque, vous devriez avoir une nouvelle entrée: "android .library = true. Maintenant, ajoutez-le dans le projet que vous voulez comme décrit dans l'article ci-dessous (l'article avec l'image intégrée - de Nilesh Pawar).
la source
Ce bug est référencé plusieurs fois ici 27199 , 35786 , 36460 & 38052
Peut-être qu'en votant pour eux, ce sera réglé un jour ...
la source
Encore une observation sur la même question.
Pour moi, les deux projets se trouvaient dans le même dossier parent et étaient tous deux locaux dans l'espace de travail. Même alors, le problème se posait toujours.
J'ai édité le fichier "project.properties" et mis le chemin absolu (avec des barres obliques '/' pour séparateur) du projet de bibliothèque. Sauvegardé et fermé. Ensuite, je suis allé dans la boîte de dialogue des propriétés du projet, j'ai supprimé la bibliothèque (qui affichait toujours l'icône de croix mais avec un chemin abs) et l'a rajoutée comme d'habitude. Étonnamment, le problème est résolu et le projet se compile et s'exécute.
C'est vraiment étrange et cela doit être un bug avec l'ADT. J'utilise la version 20.0.2 d'ADT
la source
lorsque le développeur fait référence à Facebook ou à tout autre projet de bibliothèque, nettoyez tout d'abord le projet de eclipse-> projet-> projet propre. qui veulent permettre l'erreur de croix rouge dans l'écran de référencement.
la source
Pour moi, je viens de redémarrer l'éclipse et la bibliothèque ajoutée fonctionne bien.
Je veux dire la première fois qu'il montre des marques rouges après l'ajout du projet de bibliothèque. Bien que le projet principal et le projet de bibliothèque eclipse se trouvent dans le même dossier d'espace de travail et qu'aucun fichier de ressources ne se trouve en dehors du dossier du projet.
Ainsi, vous pouvez essayer de redémarrer votre éclipse. Bon codage ....
la source
La solution de contournement pour moi était de
a résolu mon problème
la source
J'ai eu le même problème là-bas lorsque j'essaye de changer mon espace de travail, voici ma solution:
la source
Redémarrez simplement votre éclipse. Ça résout mon problème
la source
Quand vous regardez le chemin de référence avant et après, il vient de ie "C: / workspace / mylib" et va à "../../mylib" une fois copié au bon endroit, assez intéressant.
la source
FYI,
Ce qui a fonctionné pour moi était de supprimer les projets de `` bibliothèque '' (les projets réels) de mon espace de travail (sans supprimer les fichiers), puis de les réimporter à l'aide de l'assistant (importer le projet Android existant à partir du code source).
la source
Merci d'avoir posé la question. J'ai eu exactement le même problème lors de l'intégration de Facebook avec mon application Android. J'ai résolu le problème en déplaçant mon projet de développement sur le même lecteur Windows dans lequel se trouvait le projet de bibliothèque. D'une manière ou d'une autre, Eclipse est incapable de lire correctement l'emplacement du projet de bibliothèque à partir du fichier default.properties s'il se trouve dans un lecteur différent.
la source
Semblable à l'article de Sufi Khan, j'ai également résolu ce problème avec un redémarrage. Mon cas différait en ce que lorsque j'ai accédé pour la première fois à Propriétés-> Android et ajouté la bibliothèque, j'avais une belle coche verte. Lorsque j'ai fermé la boîte de dialogue, Eclipse affichait toujours des erreurs de type de classe introuvable. Quand j'ai vérifié à nouveau les propriétés, j'ai vu le X rouge. Mais la solution de M. Kahn (supprimer la mauvaise bibliothèque, redémarrer Eclipse, ajouter à nouveau la bibliothèque) fonctionnait bien.
J'utilise la version 0702 du bundle ADT (commence par "cluster", rime avec "duck").
la source
J'ai suivi la réponse acceptée mais j'ai également dû m'assurer que mon fichier "project.properties" était lisible.
Si le fichier est en lecture seule (archivé dans le contrôle de code source), eclipse ne le modifiera pas. L'ajout de la référence de bibliothèque réussira, mais la modification ne sera pas conservée après avoir cliqué sur OK.
Si la fermeture de la fenêtre des préférences et la réouverture supprime la bibliothèque que vous venez d'ajouter, cela peut être votre solution.
la source
Si votre projet de bibliothèque n'apparaît toujours pas, essayez d'ajouter un indicateur de bibliothèque dans les propriétés de votre projet de bibliothèque
Ajouter android.library = true
project.properties
la source