wake-up-neo.com

In Eclipse kann nicht auf ein Android Bibliotheksprojekt in einem anderen Android Projekt verwiesen werden

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:

  1. Markierte das Bibliotheksprojekt über Projekteigenschaften. Das default.properties Datei hat diesen Satz: Android.library=true

  2. 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

  3. 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.

103
malcooke

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.

159
malcooke

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.

11
Karthik Dheeraj

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.

10
user791129

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): enter image description here

4
Nilesh Pawar

Auf diesen Fehler wird hier mehrmals verwiesen 27199 , 5786 , 646 & 8052

Vielleicht, indem Sie für sie stimmen, wird es eines Tages festgelegt ...

3
Laurent.B

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).

3

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.

2
jayesh jethava

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 ....

2
Md Sufi Khan

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

2
CuriousChettai

Starten Sie einfach Ihre Eclipse neu. Es löst mein Problem

1
Manisha Patel

Problemumgehung für mich war zu

  1. Erstellen Sie einen neuen Arbeitsbereich
  2. Importieren Sie das Bibliotheksprojekt in diesen Arbeitsbereich
  3. Importieren Das gewünschte Projekt in diesem Arbeitsbereich
  4. Projekt und Bibliothek haben dasselbe Ziel Android OS-Version
  5. Referenzbibliotheksprojekt in meinem Projekt

mein problem gelöst

1
QAMAR

ich hatte dort das gleiche Problem, als ich versuchte, meinen Arbeitsbereich so zu ändern, dass dies meine Lösung ist:

  1. importieren und kopieren Sie alle Projektdaten einschließlich des Bibliotheksprojekts in den Arbeitsbereich
  2. löschen Sie die alte Projektreferenz, indem Sie mit der rechten Maustaste auf das Projekt klicken -> Eigenschaften -> Android -> Bibliothek, und wählen Sie die beschädigte Bibliothek aus (so dass ich sie nenne), und wählen Sie Entfernen
  3. projekt zuerst bereinigen (um die Projekteigenschaften zu aktualisieren)
  4. gehen Sie zu Eigenschaften des Bibliotheksprojekts -> Android -> Bibliothek und überprüfen Sie die Bibliothek, wenn Sie nicht auf Übernehmen und dann auf OK klicken
  5. wenn das Bibliotheksprojekt bereits aktiviert ist, deaktivieren Sie es und bereinigen Sie das Bibliotheksprojekt anschließend erneut. Führen Sie dann Schritt 4 aus
  6. gehen Sie zu dem Projekt, in dem sich die Bibliothek befinden soll, und klicken Sie mit der rechten Maustaste auf das Projekt -> Eigenschaften -> Android -> Bibliothek. Wählen Sie dann das Bibliotheksprojekt aus (es sollte dort sein) und klicken Sie auf Übernehmen und dann auf OK
  7. wenn immer noch nicht sauber erscheint das projekt nochmal und das sollte reichen
1
ibrahim saputra

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.

0
Girish K Gupta

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).

0
JRun

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.

0
Sebastian

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.

0
repkap11

Ä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").

0

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
0
HimalayanCoder