Eclipse: Überschreibt den in project.properties definierten Bibliothekspfad

8

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.

    
Kuitsi 18.09.2012, 18:56
quelle

4 Antworten

0

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.

    
Raghav Sood 18.09.2012 19:00
quelle
0

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.

    
bgs 23.10.2012 17:11
quelle
0

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.

    
caiocpricci2 26.10.2012 09:39
quelle
0

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

%Vor%

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.

    
Kuitsi 06.11.2012 13:06
quelle