Während ich diese Frage schrieb, konnte ich sie lösen. Wiederholen Sie sie hier zum Nutzen anderer. Hier ist das anfängliche Problem:
Ich habe ein sehr einfaches Bibliotheksprojekt erstellt, auf das ich in einem anderen Projekt verweisen möchte. Ich habe dies zuvor ohne Probleme getan, bin mir also nicht sicher, warum es diesmal nicht funktioniert. Ich habe:
Kennzeichnete das Bibliotheksprojekt über Projekteigenschaften. Die
default.properties
Datei hat diesen Satz:android.library=true
In meinem anderen Projekt wurde über Projekteigenschaften ein Verweis auf mein Bibliotheksprojekt hinzugefügt. Die
default.properties
Datei hat die Referenz wie erwartet hinzugefügt, dhandroid.library.reference.1=K:/android_test_ws/applicationRegistrar
Das grüne Häkchen für das referenzierte Bibliotheksprojekt beginnt grün und wechselt dann zu einem roten Kreuz.
Dies impliziert, dass im Bibliotheksprojekt etwas nicht stimmt / fehlt, aber ich weiß nicht was. Mein Bibliotheksprojekt ist bei dieser Gelegenheit VIEL einfacher als das vorherige, das ich erstellt habe.
Antworten:
OK Hier ist die Lösung, die ich gefunden habe, als ich in meinem Dateisystem nach der Datei default.properies des referenzierenden Projekts (nicht der Bibliothek) gesucht habe. Obwohl sich das referenzierende Projekt im selben Eclipse-Arbeitsbereich wie das Bibliotheksprojekt befand, befanden sich die tatsächlichen Dateien an einer anderen Stelle im Dateisystem, dh sie befanden sich nicht im selben übergeordneten Ordner des Bibliotheksprojekts. Sobald ich das referenzierende Projekt im selben physischen Ordner wie das Bibliotheksprojekt abgelegt hatte, ging alles in Ordnung.
Ich denke, dass dies etwas mit Android zu tun haben muss, der Ameisen unter der Decke benutzt.
Bearbeiten: Der Projektname muss mit dem Ordnernamen im Dateisystem übereinstimmen. Was Sie in den Projekteigenschaften-> Android-> Bibliotheksreferenz sehen, ist ein relativer Dateisystempfad.
quelle
Stellen Sie sicher, dass beide Projekte im selben Arbeitsbereich vorhanden sind. Stellen Sie beim Importieren der Projekte sicher, dass das Kontrollkästchen "Projekt in Arbeitsbereich kopieren" aktiviert ist.
quelle
Das gleiche Problem tritt auf, wenn sich Ihr Bibliotheksprojekt in einer anderen Partition als Ihr aktueller Arbeitsbereich befindet. Ich habe gerade das gleiche Problem. Meine Git-Quelle befindet sich in C: und ich verschiebe meinen Arbeitsbereich einfach nach D: und alles beginnt zu kollabieren.
quelle
Der einfachste Weg, um die Pfade der Bibliothekspfade korrekt zu machen, besteht darin, die Bibliothek über die GUI von Eclipse hinzuzufügen, wie im folgenden Screenshot gezeigt, und Eclipse dafür zu sorgen, dass die richtigen relativen Pfade in project.properties eingefügt werden. Es ist eine übliche Einrichtung, Ihre Bibliotheksprojekte in Verzeichnissen zu hosten, die sich stark von Ihren Hauptprojekten unterscheiden, die die Bibliothek verwenden. Diese Methode funktioniert, wenn sich das "libary-Projekt" und das Projekt, das es verwendet, im selben Eclipse- "Arbeitsbereich" befinden (sie müssen sich nicht im selben übergeordneten Ordner befinden):
quelle
Bitte stellen Sie sicher, dass das Bibliotheksprojekt als "Ist Bibliothek" markiert ist - klicken Sie mit der rechten Maustaste auf das Bibliotheksprojekt - Eigenschaften - Android - aktivieren Sie das Kontrollkästchen "Ist Bibliothek" - in project.properties des Bibliotheksprojekts sollten Sie einen neuen Eintrag haben: "android .library = true. Fügen Sie es nun dem gewünschten Projekt hinzu, wie im folgenden Beitrag beschrieben (der Beitrag mit integriertem Bild - von Nilesh Pawar).
quelle
Auf diesen Fehler wird hier mehrmals verwiesen 27199 , 35786 , 36460 & 38052
Vielleicht wird es eines Tages behoben, wenn wir für sie stimmen ...
quelle
Noch eine Bemerkung zum gleichen Thema.
Für mich befanden sich die beiden Projekte im selben übergeordneten Ordner und waren beide lokal im Arbeitsbereich. Selbst dann geschah das Problem noch.
Ich habe die Datei "project.properties" bearbeitet und den absoluten Pfad (mit Schrägstrichen '/' für Trennzeichen) des Bibliotheksprojekts angegeben. Gespeichert und geschlossen. Gehen Sie dann zum Dialogfeld mit den Projekteigenschaften, entfernen Sie die Bibliothek (auf der immer noch das Kreuzsymbol angezeigt wird, jedoch mit dem ABS-Pfad) und fügen Sie sie wie gewohnt wieder hinzu. Überraschenderweise ist das Problem behoben und das Projekt wird kompiliert und ausgeführt.
Das ist wirklich seltsam und muss ein Fehler mit dem ADT sein. Ich verwende ADT Version 20.0.2
quelle
Wenn Entwickler auf Facebook oder ein anderes Bibliotheksprojekt verweisen, bereinigen Sie das Projekt zunächst von eclipse-> project-> clean project. die den Fehler des roten Kreuzes im Referenzbildschirm zulassen wollen.
quelle
Für mich starte ich einfach die Eclipse neu und die hinzugefügte Bibliothek funktioniert einwandfrei.
Ich meine, es zeigt zum ersten Mal rote Markierungen nach dem Hinzufügen des Bibliotheksprojekts. Obwohl sich das Eclipse-Hauptprojekt und das Bibliotheksprojekt im selben Arbeitsbereichsordner befinden und sich keine Ressourcendateien außerhalb des Projektordners befinden.
Sie können also versuchen, Ihre Eclipse neu zu starten. Viel Spaß beim Codieren ....
quelle
Problemumgehung für mich war zu
löste mein Problem
quelle
Ich hatte dort das gleiche Problem, als ich versuchte, meinen Arbeitsbereich so zu ändern, dass dies meine Lösung ist:
quelle
Starten Sie einfach Ihre Sonnenfinsternis neu. Es ist mein Problem zu lösen
quelle
Wenn Sie sich den Referenzpfad vorher und nachher ansehen, kommt er von "C: / workspace / mylib" und geht zu "../../mylib", wenn er an die richtige Stelle kopiert wird, ziemlich interessant.
quelle
Zu Ihrer Information,
Was für mich funktioniert hat, war, die 'Bibliothek'-Projekte (die eigentlichen Projekte) aus meinem Arbeitsbereich zu löschen (ohne die Dateien zu löschen) und sie dann mit dem Assistenten erneut zu importieren (vorhandenes Android-Projekt aus dem Quellcode importieren).
quelle
Vielen Dank für die Veröffentlichung der Frage. Ich hatte genau das gleiche Problem bei der Integration von Facebook in meine Android-Anwendung. Ich habe das Problem behoben, indem ich mein Entwicklungsprojekt auf dasselbe Windows-Laufwerk verschoben habe, auf dem sich das Bibliotheksprojekt befand. Irgendwie kann Eclipse den Speicherort des Bibliotheksprojekts nicht richtig aus der Datei default.properties lesen, wenn es sich auf einem anderen Laufwerk befindet.
quelle
Ähnlich wie in Sufi Khans Beitrag habe ich dieses Problem auch mit einem Neustart gelöst. Mein Fall unterschied sich darin, dass ich beim ersten Zugriff auf Eigenschaften-> Android und Hinzufügen der Bibliothek ein schönes grünes Häkchen bekam. Als ich den Dialog schloss, zeigte Eclipse immer noch Klassenfehler an, die nicht gefunden wurden. Als ich die Eigenschaften erneut überprüfte, sah ich das rote X. Aber Mr. Kahns Lösung (löschen Sie die fehlerhafte Bibliothek, starten Sie Eclipse neu, fügen Sie die Bibliothek erneut hinzu) funktionierte einwandfrei.
Ich verwende die 0702-Version des ADT-Bundles (beginnt mit "Cluster", reimt sich auf "Ente").
quelle
Ich folgte der akzeptierten Antwort, musste aber auch sicherstellen, dass meine Datei "project.properties" lesbar war.
Wenn die Datei schreibgeschützt ist (in die Quellcodeverwaltung eingecheckt), wird sie von Eclipse nicht bearbeitet. Das Hinzufügen der Bibliotheksreferenz ist erfolgreich, aber die Änderung wird nach dem Klicken auf OK nicht beibehalten.
Wenn durch Schließen des Einstellungsfensters und erneutes Öffnen die gerade hinzugefügte Bibliothek entfernt wird, ist dies möglicherweise Ihre Lösung.
quelle
Falls Ihr Bibliotheksprojekt immer noch nicht angezeigt wird, fügen Sie in den Eigenschaften Ihres Bibliotheksprojekts ein Bibliotheksflag hinzu
Fügen Sie android.library = true hinzu
project.properties
quelle