Ich habe ein Beispielprojekt mit folgendem Setup:
/root
+ Pure Java Lib
+ Android Test Lib
+ Android Test Project
Wo das ' Testprojekt ' von der ' Testbibliothek ' abhängt und das letzte von der ' Pure Java Lib ' abhängt Das Kompilieren des Projekts und das Starten dieses Setups funktioniert einwandfrei.
Ich denke jetzt darüber nach, meinen vorherigen Eclipse-Arbeitsbereich zu importieren und mit Android Studio zu arbeiten. Das Problem ist, dass das Projekt-Setup anders ist, und ich möchte es so lassen.
Zum Beispiel, wenn Sie das vorherige Beispiel verwenden möchten:
/root
+ Android Test Lib
+ Android Test Project
/Some Other folder (another repository for example)
+ Pure Java Lib
Ich habe viele Konfigurationen ausprobiert, aber keine Möglichkeit gefunden, auf ein Projekt außerhalb des Bereichs des übergeordneten Ordners zu verweisen ( im Beispielfall ' root ').
In vielen Plattformen / Modulen können Sie das '..' verwenden, um in den Ordnern nach oben zu gelangen, aber das hat bei mir nicht funktioniert, vielleicht habe ich es falsch verwendet.
Weiß jemand, wie dies mit Gradle erreicht werden kann?
AKTUALISIEREN
Ich werde versuchen, allgemeiner zu sein:
/C:/
/Project A
+ Module 1 - Pure Java
+ Module 2 - Android Test Lib
+ Module 3 - Android Test Project
/Project B
+ Module 1 - Pure Java
+ Module 2 - Pure Java
+ Module 3 - Pure Java
Ich mag Modul 1 von verwenden Projekt B , in Projekt A .
UPDATE: 09-03-19
Ich habe das jetzt gesehen und ich muss es aktualisieren ... nach fast 6 Jahren bin ich heute weiser und ich kann definitiv sagen, dass das Problem darin bestand, dass ich das Konzept der "Quelle der Wahrheit" falsch verstanden habe.
Während es ein schönes Konzept ist, einen Verweis auf eine Bibliothek zu haben, und vielleicht als "Quelle der Wahrheit" erscheint, wäre die ECHTE "Quelle der Wahrheit" die Version des Codes, den jedes Projekt von dieser Bibliothek verwendet Die Bibliothek selbst hat Versionen. Viele Versionen und die "Quelle der Wahrheit" beziehen sich auf das Projekt, das die Bibliothek verwendet.
Der richtige Weg wäre, das zu verwenden, was die meisten Entwickler nicht mögen, und das sind Git-Submodule, und ja, die Quellen in jedem Projekt zu duplizieren, verursacht die meisten Chancen, dass jedes Projekt eine andere Version des Codes verwendet.
Sie müssten jedoch darauf abzielen, dass alle Ihre Projekte die neueste und beste Version aller Ihrer Bibliotheken verwenden. Dies ist eine Herausforderung für sich
Der Grund, warum dies der richtige Weg ist, um ein Projekt mit Bibliotheksquellen zu entwickeln, ist, dass dies skaliert ... Sie können Hunderte von Projekten mit jeweils einer eigenen Bibliothekskonfiguration haben.