2010-06-28 2 views
8

Wenn ich Änderungen in meinem Android-Bibliotheksprojekt vorgenommen habe, muss ich manuell aktualisieren und manchmal alle Projekte bereinigen, die die Bibliothek verwenden. Ist das normal? Gibt es einen Weg dahin?Android Library-Projekte und müssen manuell aktualisiert werden

+0

Ich denke, es ist normal, zumindest wenn Sie Eclipse verwenden. Das liegt daran, dass der Arbeitsbereich des Eclipse über einen Cache mit den Ressourcen verfügt, die für das Projekt verwendet werden. Daher muss er aktualisiert werden, um externe Änderungen zu erkennen. – Cristian

Antwort

0

Das stimmt. Wenn Ihre Bibliothek ein Jar erstellt, das Sie dem Android-Projekt hinzugefügt haben, müssen Sie sie aktualisieren (Sie können auch einfach mit der rechten Maustaste klicken und die externe Jar-Referenz aktualisieren, um Zeit zu sparen).

0

Ich hatte das gleiche Problem vor ein paar Wochen. Ich habe nicht die Lösung gefunden, die ich wollte, nämlich die Quellen direkt im Bibliotheksprojekt zu verändern und die abhängigen Projekte automatisch aufzufrischen, aber ich fand etwas Besseres als das Chaos des ständig Auffrischens und Putzens.

Der beste Weg, den ich finden konnte, war die Verwendung des verknüpften Bibliotheksordners aus dem abhängigen Projekt, an dem gerade gearbeitet wird, so dass das Projekt die Änderungen live sieht. Wenn Sie zu einem anderen abhängigen Projekt springen, müssen Sie immer noch die Dateien aktualisieren, die im anderen Projekt geändert wurden (normalerweise nur der Ordner src). Möglicherweise müssen Sie das Bibliotheksprojekt aktualisieren, wenn Sie direkte Änderungen vornehmen möchten. Es klingt vielleicht nicht wie eine große Hilfe, aber wenn Sie große Teile der Zeit in einem einzigen abhängigen Projekt verbringen (wie es bisher der Fall war), hilft es wirklich.

+1

Ihre Methode ist die alte Methode zum Teilen von Code zwischen Projekten. Das Problem dabei ist, dass Sie die Möglichkeit verlieren, Ressourcen zu teilen. Der Hauptgrund für die Verwendung von Bibliotheken besteht darin, die gemeinsame Nutzung von Ressourcen (und damit die Verteilung von .jar-Bibliotheken, die mit Ressourcen gebündelt sind) zu ermöglichen. – Vaiden

3

Ich habe eine Problemumgehung für dieses Problem gefunden. Die Grundidee besteht darin, einen benutzerdefinierten Ant-Builder zu verwenden, da er die Möglichkeit bietet, eine bestimmte Ressource oder den gesamten Arbeitsbereich auf sauberes, manuelles oder automatisches Build zu aktualisieren.

sind also hier die Schritte:

1) Erstellen Sie eine einfache ant-Datei mit einem leeren Stummel Ziel:

<?xml version="1.0" encoding="UTF-8"?> 
<project name="android" > 
    <target name="refresh" /> 
</project> 

2) Name it "lib-refresher.xml" und legen Sie sie in den Ordner wo sich die .project-Datei der Anwendung befindet.

3) Jetzt gehen Sie zu Eclipse, finden Sie das Projekt, das Android-Bibliothek (nicht Bibliothek Projekt selbst) verwendet.

4) Für dieses Projekt finden Sie unter: Projekt -> Eigenschaften -> Builder

5) Erstellen Sie neue Builder, wählen Sie Ant-Task, wählen angegeben "lib-refresher.xml", wählen Sie Build-Basisordner.

6) wichtig - Refresh Registerkarte ant Builder Aufgabe wählen Sie "Spezifische Ressourcen" und Sie Bibliothek abhängig Projekt auswählen.

7) wichtig - On Target Registerkarten wählen Sie "refresh" Ziel für die Build-Varianten: Clean, Manuell gebaut, Auto gebaut.

8) wichtig - Änderungen speichern, Ihren neuen benutzerdefinierte ant builder nach oben bewegen von Bauherr stapeln.

Jetzt wird das ganze Projekt kurz vor der Erstellung und Mittagessen Anwendung aktualisieren. Dies schließt alle Änderungen ein, die an einem Bibliotheksprojekt in einem Anwendungsprojekt vorgenommen wurden. Welches ist was benötigt wurde.

(Dies kann auch andersherum geschehen: Das Bibliotheksprojekt kann den gesamten Arbeitsbereich aktualisieren, wenn Autobuild gestartet wird. Dies mag etwas übertrieben sein, kann aber einige schwierigere Fälle lösen).

+0

Funktioniert. Sollte akzeptiert werden – znat

1

Ich habe Stand Projekt in Arbeitsbereich (Android-Bibliothek und Android App) und wenn ich irgendwelche Änderungen in der Bibliothek gemacht i Projekt mit App aktualisieren müssen, aber dies behoben mein Problem:

(Application) project properties -> Java Build Path -> Tab Projects 

und es i habe meine Android-Bibliothek hinzugefügt.

Verwandte Themen