Das vom Google Gradle Plugin empfohlene Verfahren zum Konfigurieren Ihrer Gradle-Dateien zum Erstellen mehrerer Projekte weist einige Mängel auf. Wenn Sie abhängig von einem Bibliotheksprojekt mehrere Projekte haben, werden in diesem Beitrag die von Google empfohlene Konfiguration und seine Mängel kurz erläutert und eine andere Methode zum Konfigurieren Ihrer Gradle-Dateien empfohlen Unterstützung von Multi-Projekt-Setups in Android Studio:
Ein alternatives Multiprojekt-Setup für Android Studio
Ein anderer Weg :
Es stellt sich heraus, dass es eine bessere Möglichkeit gibt, mehrere Projekte in Android Studio zu verwalten. Der Trick besteht darin, separate Android Studio-Projekte für Ihre Bibliotheken zu erstellen und gradle mitzuteilen, dass sich das Modul für die Bibliothek, von der Ihre App abhängt, im Projektverzeichnis der Bibliothek befindet. Wenn Sie diese Methode mit der oben beschriebenen Projektstruktur verwenden möchten, gehen Sie wie folgt vor:
- Erstellen Sie ein Android Studio-Projekt für die StickyListHeaders-Bibliothek
- Erstellen Sie ein Android Studio-Projekt für App2
- Erstellen Sie ein Android Studio-Projekt für App1
- Konfigurieren Sie App1 und App2 so, dass die Module im StickyListHeaders-Projekt erstellt werden.
Der 4. Schritt ist der schwierige Teil, daher ist dies der einzige Schritt, den ich im Detail beschreiben werde. Sie können auf Module verweisen, die sich außerhalb des Projektverzeichnisses befinden, indem Sie eine Projektanweisung in Ihre Datei settings.gradle einfügen und die Eigenschaft projectDir für das ProjectDescriptor-Objekt festlegen, das von dieser Projektanweisung zurückgegeben wird:

Der Code, den man eingeben muss settings.gradle:
include ':library1'
project(':library1').projectDir = new File('../StickyListHeader/library1')
Wenn Sie dies richtig gemacht haben, werden Sie feststellen, dass die Module, auf die Ihr Projekt verweist, im Projektnavigator angezeigt werden, auch wenn sich diese Module außerhalb des Projektverzeichnisses befinden:

Auf diese Weise können Sie gleichzeitig an Bibliothekscode und App-Code arbeiten. Die Integration der Versionskontrolle funktioniert auch einwandfrei, wenn Sie Module auf diese Weise extern referenzieren. Sie können Ihre Änderungen am Bibliothekscode festschreiben und übertragen, genauso wie Sie Änderungen an Ihrem App-Code festschreiben und übertragen können.
Durch diese Art der Einrichtung mehrerer Projekte werden die Schwierigkeiten vermieden, die die von Google empfohlene Konfiguration betreffen. Da wir auf ein Modul verweisen, das sich außerhalb des Projektverzeichnisses befindet, müssen wir nicht für jede App, die davon abhängt, zusätzliche Kopien des Bibliotheksmoduls erstellen, und wir können unsere Bibliotheken ohne Unsinn eines Git-Submoduls versionieren.
Leider ist diese andere Art, mehrere Projekte einzurichten, sehr schwer zu finden. Dies können Sie natürlich nicht anhand des Google-Handbuchs herausfinden. Derzeit können Sie Ihre Projekte nicht über die Benutzeroberfläche von Android Studio auf diese Weise konfigurieren.