Während ich diese Frage schrieb, gelang es mir, sie zu lösen. Wiederholen Sie sie hier zum Wohle 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 das vorher ohne Probleme gemacht, also nicht wirklich sicher, warum es dieses Mal nicht funktioniert. Ich habe:
Markierte das Bibliotheksprojekt über Projekteigenschaften. Das default.properties
Datei hat diesen Satz: Android.library=true
In meinem anderen Projekt wurde über Projekteigenschaften ein Verweis auf mein Bibliotheksprojekt hinzugefügt. Das default.properties
Datei wurde die Referenz wie erwartet hinzugefügt, dh Android.library.reference.1=K:/Android_test_ws/applicationRegistrar
Das grüne Häkchen für das Bibliotheksprojekt, auf das verwiesen wird, fängt grün an und ändert sich dann in ein rotes 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.
OK Hier ist die Lösung, die ich gefunden habe, als ich nach der Datei default.properies des referenzierenden Projekts (nicht der Bibliothek) in meinem Dateisystem gesucht habe. Obwohl sich das Referenzierungsprojekt 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 Referenzierungsprojekt im selben physischen Ordner wie das Bibliotheksprojekt abgelegt hatte, lief alles einwandfrei.
Ich denke, das muss etwas damit zu tun haben, dass Android mit Ameise unter der Decke).
Bearbeiten: Der Projektname muss mit dem Ordnernamen im Dateisystem übereinstimmen. Was Sie in den Projekteigenschaften-> Android-> Bibliotheksreferenz sehen, ist ein relativer Dateisystempfad.
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.
das gleiche Problem tritt auf, wenn sich Ihr Bibliotheksprojekt in einer anderen Partition als Ihrem aktuellen Arbeitsbereich befindet. Ich habe gerade das gleiche Problem. Meine Git-Quelle ist in C: und ich verschiebe meinen Arbeitsbereich einfach nach D: und alles beginnt zusammenzubrechen.
Der einfachste Weg, um die Pfade der Bibliothek zu korrigieren, besteht darin, die Bibliothek über die GUI von Eclipse wie im folgenden Screenshot gezeigt hinzuzufügen und Eclipse zu überlassen, die richtigen relativen Pfade in project.properties abzulegen. In der Regel werden Ihre Bibliotheksprojekte in Verzeichnissen gehostet, die sich erheblich von den Hauptprojekten unterscheiden, in denen die Bibliothek verwendet wird. Diese Methode funktioniert, wenn sich das "libary project" und das Projekt, das es verwendet, im selben Eclipse-Arbeitsbereich befinden (sie müssen sich nicht im selben übergeordneten Ordner befinden):
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 Sie sollten einen neuen Eintrag haben: "Android.library = true. Fügen Sie ihn nun in das gewünschte Projekt ein, wie im folgenden Beitrag beschrieben. (Der Beitrag mit integriertem Bild - von Nilesh Pawar).
wenn Entwickler auf Facebook oder ein anderes Bibliotheksprojekt verweisen, bereinigen Sie zuerst das Projekt von Eclipse-> project-> clean project. die wollen, erlauben den Fehler des roten Kreuzes im Referenzierungsbildschirm.
Bei mir 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 mit versuchen, Ihre Eclipse neu zu starten. Fröhliches Codieren ....
Noch eine Bemerkung zum selben Thema.
Für mich befanden sich die beiden Projekte im selben übergeordneten Ordner und waren beide lokal im Arbeitsbereich. Sogar dann geschah das Problem noch.
Ich habe die Datei "project.properties" bearbeitet und den absoluten Pfad (mit Schrägstrichen '/' als Trennzeichen) des Bibliotheksprojekts angegeben. Gespeichert und geschlossen. Dann ging man zum Dialogfeld Projekteigenschaften, entfernte die Bibliothek (die immer noch das Kreuzsymbol, aber mit dem Abs-Pfad zeigte) und fügte es 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 benutze ADT Version 20.0.2
Starten Sie einfach Ihre Eclipse neu. Es löst mein Problem
Problemumgehung für mich war zu
mein problem gelöst
ich hatte dort das gleiche Problem, als ich versuchte, meinen Arbeitsbereich so zu ändern, dass dies meine Lösung ist:
Vielen Dank, dass Sie die Frage gestellt haben. 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 nicht lesen Der Speicherort des Bibliotheksprojekts stammt ordnungsgemäß aus der Datei default.properties, wenn es sich auf einem anderen Laufwerk befindet.
Zu Ihrer Information,
Für mich hat es funktioniert, die Bibliotheksprojekte (die eigentlichen Projekte) aus meinem Arbeitsbereich zu löschen (ohne die Dateien zu löschen) und sie dann mithilfe des Assistenten erneut zu importieren (vorhandenes Android Projekt importieren) aus dem Quellcode).
Wenn Sie sich den Referenzpfad vorher und nachher ansehen, kommt er von "C:/workspace/mylib" und wechselt zu "../../mylib", wenn er an die richtige Stelle kopiert wird, was sehr interessant ist.
Ich folgte der akzeptierten Antwort, musste aber auch sicherstellen, dass meine Datei "project.properties" lesbar war.
Wenn die Datei schreibgeschützt ist (in der Quellcodeverwaltung aktiviert), wird sie von Eclipse nicht bearbeitet. Das Hinzufügen des Bibliotheksverweises ist erfolgreich, die Änderung wird jedoch nach dem Klicken auf OK nicht beibehalten.
Wenn beim Schließen des Einstellungsfensters und erneuten Öffnen die soeben hinzugefügte Bibliothek entfernt wird, ist dies möglicherweise Ihre Lösung.
Ähnlich wie bei Sufi Khan habe ich auch dieses Problem mit einem Neustart gelöst. Mein Fall unterschied sich darin, dass ich beim ersten Aufrufen von Eigenschaften-> Android und Hinzufügen der Bibliothek ein schönes grünes Häkchen erhielt. Als ich den Dialog schloss, wurden in Eclipse immer noch Typfehler angezeigt, die nicht gefunden wurden. Als ich die Eigenschaften erneut überprüfte, sah ich das rote X. Aber Mr. Kahns Lösung (die fehlerhafte Bibliothek löschen, Eclipse neu starten, die Bibliothek erneut hinzufügen) funktionierte einwandfrei.
Ich verwende die 0702-Version des ADT-Bundles (beginnt mit "Cluster", reimt sich mit "Ente").
Falls Ihr Bibliotheksprojekt immer noch nicht angezeigt wird, fügen Sie das Bibliotheksflag in den Eigenschaften Ihres Bibliotheksprojekts hinzu
Fügen Sie Android.library = true hinzu
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