Ich verwende ActionBarSherlock als Bibliothek. Wir haben ABS nicht in unser Repository aufgenommen, sodass jeder, der an unserem Projekt teilnimmt, diese separat herunterladen und installieren muss. ActioBarSherlock ist ein Android-Bibliotheksprojekt und ich habe es geöffnet, indem ich es und mein Projekt im selben Eclipse-Arbeitsbereich geöffnet habe (beide werden in den Arbeitsbereich kopiert, sie existieren beide in einem anderen Ordner) und füge es meinem project.properties
hinzu :
Referenzieren eines Bibliotheksprojekts .
Dieser Referenzpfad ist relativ, und da jeder ABS in einem anderen Ordner haben könnte, haben wir auch andere Pfade in der project.properties
-Datei von Eclipse als android.library.reference.1
. Gibt es eine Möglichkeit, den Bibliothekspfad lokal zu überschreiben, sodass wir project.properties
in unserem Repo haben können, aber Eclipse lokal einen anderen Pfad verwendet? Momentan muss ich diesen Pfad nach jedem Aufruf manuell korrigieren unser Repo wegen verschiedener Wege.
Es gibt andere * .properties-Dateien , aber Eclipse ignoriert sie:
local.properties
Anpassbare computerspezifische Eigenschaften für das Build-System. Wenn Sie das Projekt mit Ant erstellen, enthält dies den Pfad zur SDK-Installation. Da der Inhalt der Datei für die lokale Installation des SDK spezifisch ist, sollte die Datei local.properties nicht in einem Versionsrevisionssteuersystem verwaltet werden. Wenn Sie Eclipse verwenden, wird diese Datei nicht verwendet.
ant.properties
Anpassbare Eigenschaften für das Build-System. Sie können diese Datei bearbeiten, um die von Ant verwendeten Standard-Build-Einstellungen zu überschreiben und den Speicherort Ihres Schlüsselspeichers und Schlüsselalias anzugeben, damit die Build-Tools Ihre Anwendung beim Erstellen im Freigabemodus signieren können. Diese Datei ist ein integraler Bestandteil des Projekts, also pflegen Sie sie in einem Versionskontrollsystem. Wenn Sie Eclipse verwenden, wird diese Datei nicht verwendet.
Einfach jede Person in projectroot/libs
setzen. Die neueren (ADT 17 und höher, IIRC) Versionen des ADT werden es automatisch aufnehmen und in Ihre App kompilieren. Beachten Sie, dass der Ordner libs
mit einem s
und nicht lib
ist. Die Verwendung von /lib
funktioniert nicht.
Optionen:
project.properties : Sie können einen Link in jedem Benutzerordner erstellen, libs
, und der Pfad in project.properties
verweist auf ~/libs
Verwenden einer gemeinsamen Bibliothek : Erstellen Sie ein Bibliotheksprojekt namens "common". Lassen Sie die Einstellungen in den Einstellungen exportieren. Importieren Sie in Ihrer Android-Anwendung das jar.
Ich persönlich denke, die Konfiguration mit Maven wäre am besten, aber die zweite Option war am schnellsten.
Was ist, wenn Sie die project.properties in Ihrem Repo ignorieren? Auf diese Weise kann jeder Benutzer seinen eigenen behalten, und Sie müssen ihn nicht ständig überschreiben. Ich glaube nicht, dass Sie das lokal übersteuern können.
Eine weitere Option zur Vereinfachung ist, dass Sie das Projekt als JAR-Datei exportieren können, anstatt es als Bibliotheksprojekt zu referenzieren. Wenn Sie den ABS-Code nicht ändern müssen, können Sie mit der rechten Maustaste auf das Projekt klicken - & gt; Java - & gt; JAR-Datei und alle Entwickler können das aus Gründen der Einfachheit am selben Ort behalten.
Bearbeiten: Diese Frage wird für unser Projekt nicht mehr benötigt, seit wir von Eclipse zu Android Studio und Gradle Build-System gewechselt sind. Eclipse mit Maven hätte auch funktionieren sollen, wie @bgs vorgeschlagen hat.
Unser vorheriger Ansatz:
Wir suchen immer noch nach einer besseren Alternative, aber bis jetzt haben wir project.properties
in unserem Repo behalten. project.properties
wird nicht überschrieben, wenn beim Ziehen keine Änderungen vorgenommen werden. Wir schlagen auch in unserer README vor, dass Benutzer dieses hinzufügen
zu ihrer Konfigurationsdatei .hg/hgrc
, um zu verhindern, dass versehentlich Änderungen an dieser Datei vorgenommen werden.
Diese Methode hat mindestens einen Nachteil: Beim Zusammenführen erhalten Sie möglicherweise den Fehler abort: cannot partially commit a merge (do not specify files or patterns)
, auch wenn Sie Ihre Zusammenführung mit hg commit -m 'merge'
festgeschrieben haben. In diesem Fall deaktivieren Sie diesen Alias vorübergehend.
Tags und Links eclipse android android-library