En rédigeant cette question, j’ai réussi à la résoudre. 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. J'ai déjà fait cela auparavant sans aucun problème, donc je ne sais pas vraiment pourquoi cela ne fonctionne pas cette fois-ci. J'ai:
A marqué le projet de bibliothèque via les propriétés du projet. Le fichier default.properties
A cet ensemble: Android.library=true
Dans mon autre projet, référence supplémentaire à mon projet de bibliothèque via les propriétés du projet. Le fichier default.properties
A la référence ajoutée comme prévu, c'est-à-dire Android.library.reference.1=K:/Android_test_ws/applicationRegistrar
La coche verte par rapport au 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 d'anormal 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éé.
OK Voici la solution que j'ai trouvée lorsque je cherchais 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 trouvaient ailleurs dans le système de fichiers, c'est-à-dire qu'ils ne se trouvaient 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 avoir quelque chose à voir avec Android en utilisant ant sous les couvertures.
Edit: le nom du projet doit correspondre au nom du dossier sur le système de fichiers. Ce que vous voyez dans Propriétés du projet-> Android-> Référence de la bibliothèque est un chemin de système de fichiers relatif.
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.
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 tout à l'heure. Mon source git est en C: et je déplace juste mon espace de travail sur D: et tout commence à s'effondrer.
Le moyen le plus simple d'obtenir les chemins d'accès corrects aux bibliothèques 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 l'insertion des chemins relatifs dans project.properties. C’est une configuration commune pour que vos projets de bibliothèque soient hébergés dans des répertoires très différents de vos projets principaux qui utilisent la bibliothèque. Cette méthode fonctionnera si le "projet libary" et le projet l'utilisant se trouvent dans le même "espace de travail" Eclipse (ils ne doivent pas nécessairement figurer dans le même dossier parent):
Assurez-vous que le projet de bibliothèque est marqué "Est bibliothèque" - cliquez avec le bouton droit de la souris sur le projet de bibliothèque - propriétés - Android - cochez la case "Est bibliothèque" - dans project.properties du projet de bibliothèque vous devriez avoir une nouvelle entrée: "Android.library = true. Maintenant, ajoutez-la dans le projet souhaité comme décrit dans l'article ci-dessous. (l'article avec image intégrée - de Nilesh Pawar).
lorsque le développeur fait référence à Facebook ou à tout autre projet de bibliothèque, commencez par nettoyer le projet d’Eclipse-> projet-> nettoyer le projet. qui veulent permettre l'erreur de croix rouge dans l'écran de référencement.
Pour moi, je viens de redémarrer Eclipse et la bibliothèque ajoutée fonctionne bien.
Je veux dire la première fois qu'il montre des marques rouges après avoir ajouté le 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, aucun fichier de ressources ne se trouve en dehors du dossier de projet.
Vous pouvez donc essayer de redémarrer votre Eclipse. Bonne codage ....
Encore une autre observation sur le même sujet.
Pour moi, les deux projets se trouvaient dans le même dossier parent et étaient tous deux situés à l'intérieur de 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 les barres obliques "/" pour séparateur) du projet de bibliothèque. Enregistré et fermé. Ensuite, allez dans la boîte de dialogue des propriétés du projet, supprimez la bibliothèque (qui affichait toujours l’icône croix mais avec le chemin abs) et rajoutez-la comme d’habitude. Curieusement, le problème est résolu et le projet est compilé et exécuté.
Ceci est vraiment étrange et doit être un bug avec ADT. J'utilise ADT version 20.0.2
Il suffit de redémarrer votre Eclipse. C'est résoudre mon problème
La solution pour moi était de
résolu mon problème
j'ai eu le même problème là-bas quand j'essaie de changer mon espace de travail alors c'est ma solution:
Merci d'avoir posté la question. J'avais exactement le même problème lors de l'intégration de Facebook avec mon Android application). 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. Eclipse n'arrive pas à lire. l'emplacement du projet de bibliothèque correctement à partir du fichier default.properties s'il se trouve dans un lecteur différent.
Pour votre information,
Ce qui a fonctionné pour moi a été 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 (importation existante Android depuis le code source).
Lorsque vous regardez le chemin de référence avant et après, il provient de "C:/workspace/mylib" et passe à "../../mylib" lorsqu'il est copié au bon emplacement, ce qui est très intéressant.
J'ai suivi la réponse acceptée mais je devais également m'assurer que mon fichier "project.properties" était lisible.
Si le fichier est en lecture seule (vérifié dans le contrôle de source), Eclipse ne l'éditera pas. L'ajout de la référence à la bibliothèque réussira, mais la modification ne sera pas persistée après avoir cliqué sur OK.
Si fermer la fenêtre de préférences et rouvrir à nouveau supprime la bibliothèque que vous venez d'ajouter, cela peut être votre solution.
Semblable au message de Soufi Khan, j'ai également résolu ce problème avec un redémarrage. Mon cas a différé en ce que lorsque j'ai accédé pour la première fois à Propriétés-> Android et que j'ai ajouté la bibliothèque, j'ai reçu une jolie coche verte. Lorsque j'ai fermé la boîte de dialogue, Eclipse affichait toujours des erreurs de type classe-non-trouvé. 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) a bien fonctionné.
J'utilise la version 0702 de l'offre ADT (commence par "cluster", rime avec "canard").
Si votre projet de bibliothèque ne s'affiche 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
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-Android.txt:proguard-project.txt
# Project target.
target=Android-17
Android.library=true