Ich habe Android-Apps A und B. Ich möchte doppelten Code aus jedem in eine gemeinsame Bibliothek extrahieren L. Wie kann ich dies mit Gradle tun? Ich habe ein paar Permutationen dieser Frage gesehen, aber es gab nur wenige Antworten.Teilen einer Android-Bibliothek zwischen mehreren Android-Apps mit Gradle
Die nächstgelegene/best bereits gestellte Frage ist diese:
Multiple Android apps depending on android library with gradle
Die erste Antwort schlägt vor, ein übergeordnetes Projekt, das beide Apps und das Bibliotheksmodul umfasst. Diese Kopplung ist unerwünscht, teilweise weil A, B und L in ihrem eigenen Git - Repository sind, aber auch, weil es ein Elternprojekt beinhalten und Dateien erstellen würde, die schwierig in die Quellcodeverwaltung zu bringen wären (oder das manuelle Kopieren von die anderen Projekte). Da Android Studio standardmäßig einen Eltern-Build für Einzel-Modul-Projekte bevorzugt ... Nun, es sind einfach eine Menge Eltern für das, was eine einfache Familie sein sollte. Es scheint wirklich eine unnötige Kopplung zwischen Projekten zu sein, die ansonsten völlig unabhängig sind.
Die zweite Antwort beinhaltet die Freigabe eines AAR zu einem Repo und Verweis auf die Remote-Bibliothek in jedem Projekt. Ich würde mit diesem Ansatz gut zurecht kommen, da wir ein lokales Nexus-Repository haben, aber es scheint keine einfache Möglichkeit zu geben, dies zu tun, ohne Dateien manuell zu versionieren/benennen und hochzuladen (dies ist nicht nachhaltig). Ich versuche, das Sonatype Gradle-Release-Plugin zu verwenden, aber es scheint für JARs (nicht AARs) zu sein.
Es scheint nur eine Menge beweglicher Teile für die grundlegende Form der Code-Sharing zwischen Android-Apps. Hat jemand eine bessere Lösung?
Wenn ich den zweiten Weg gehen, scheint dies relevant: http://www.vandalsoftware.com/post/52468430435/publishing-an-android-library-aar-to-a- maven – Tremelune