Ich habe folgende Projektstruktur:Wie Modul als Abhängigkeit enthalten und in der Lage sein, es zu APK zu bauen?
main-project/
modules/
moduleA/
moduleB/
main-project
verwendet moduleA
und moduleB
als Abhängigkeiten. Derzeit sind diese Module Bibliotheksmodule, die ich jedoch gerne als eigenständige Anwendungen veröffentlichen würde. So möchte ich in der Lage sein, zu lösen:
main-project
Anwendung (abhängig vonmoduleA
undmoduleB
)moduleA
eigenständige AnwendungmoduleB
eigenständige Anwendung
Es gibt mehr Submodule als nur moduleA
und moduleB
, daher ist das Erstellen von Anwendungsmodulen für jede von ihnen keine Option (es sei denn, es ist möglich, sie durch Gradle zu automatisieren).
Gibt es eine Möglichkeit, Gradel zu verwenden, main-project
und seine Abhängigkeiten als separate APKs zu erstellen?
EDIT
besser mein Problem zu veranschaulichen, hier ist weniger abstrakt Beispiel meiner Projektstruktur:
cats-dogs-browser/
modules/
cats-browser/
dogs-browser/
Ich möchte cats-dogs-browser
, cats-browser
, dogs-browser
APKs lösen. Sowohl cats-browser
als auch dogs-browser
können als eigenständige Anwendungen arbeiten (sie haben eigene Ressourcen, Aktivitäten usw.). Das Verwenden von Flavors in cats-dogs-browser
, um nur eines der Module einzuschließen, ist keine Option, da es eine Menge Logik enthält, die für cats-browser
und dogs-browser
nicht benötigt wird.
Ich weiß, ich kann es durch die Bereitstellung von Anwendungsmodulen für cats-browser
und dogs-browser
(oder mit einem solchen Modul mit Aromen), aber im realen Projekt gibt es viel mehr als 2 solche Module, so dass ich nach einer besseren Lösung suche.
Soweit ich weiß, wird dies nur hinzufügen ': your_module_name' als Abhängigkeit in meinem Hauptmodul. Was noch wichtiger ist: ': your_module_name' ist immer noch ein Bibliotheksmodul, daher wird es nach AAR anstatt nach APK kompiliert. Dies ist keine Lösung für mein Problem, denn ich möchte ': your_module_name' als Teil des Hauptmoduls aber auch als eigenständige APK kompilieren können. – dzielins42
Ich habe die Antwort bearbeitet ... Ich bin mir nicht ganz sicher, ob Ihnen das weiterhelfen kann. –
Ich habe auch meine Frage bearbeitet, um ein konkreteres Beispiel zu geben. Ich habe überlegt, Aromen zu verwenden, aber jeder Geschmack muss manuell hinzugefügt werden, um build.gradle zu erstellen. – dzielins42