2014-07-15 20 views
7

Also habe ich in mehreren Modulen gearbeitet, mein "primäres", das kompilierbar ist, und dann, wo ich mit bestimmten Features und Bibliotheken herumkomme, bis ich diese Funktion so bekomme, wie ich will, ohne mein primäres Modul zu zerstören. Ich möchte jetzt die Ressourcen und Klassen eines meiner Unordnung-Module in mein "primäres" Modul zusammenführen, ohne zu einzelnen Verzeichnissen gehen zu müssen, um kopieren und einfügen (z. B. Unterverzeichnisse in src), und dann systematisch alle durchlaufen Fehler, die auftauchen, weil sich der Klassenpfad für diese und ähnliche Dinge geändert hat.Module in Android Studio zusammenführen?

Gibt es eine Möglichkeit, zwei Module zu verschmelzen, ohne die oben genannten zu tun, im Wesentlichen zusammenführen, src, libs? Das nächste, was ich finden kann, ist Refactor> Move, aber das ist es und ist noch lange keine brauchbare Lösung.

+1

Ich empfehle Ihnen, git zu verwenden, um verschiedene Versionen Ihres Codes zu verwalten. Sie müssen sich keine Gedanken über unordentliche Zusammenführungen machen und Ihr Code wird gesichert und versioniert. –

+0

Was ist die Beziehung zwischen Git und dem Zusammenführen von Modulen? –

Antwort

1

Wenn Sie bei der Erstellung eines Projekts mit mehreren Modulen zwei oder mehr Module eine Ressource mit demselben Namen definiert haben, wird die Ressource aus dem Modul mit der höheren Priorität ausgewählt.

Sie können die relative Priorität der Module ändern, indem Sie die Projektstruktur (Datei -> Projektstruktur/Strg + Alt + Umschalt + S) öffnen und auf der Registerkarte Abhängigkeiten auf den Pfeil nach oben und unten klicken.

Wenn Sie Verweise auf mehrere Bibliotheken hinzufügen, können Sie ihre relative Priorität gesetzt (und Ordnung fusionieren), indem eine Bibliothek auswählen und die Up- und Down-Steuerelemente verwenden. Die Tools führen die referenzierten Bibliotheken mit Ihrer Anwendung zusammen, beginnend mit der niedrigsten Priorität (unten in der Liste) bis zum höchsten Punkt (oben in der Liste). Wenn mehr als eine Bibliothek dieselbe Ressourcen-ID definiert, wählen die Tools die Ressource aus der Bibliothek mit höherer Priorität aus. Die Anwendung selbst hat die höchste Priorität, und ihre Ressourcen werden immer vor identischen Ressourcen-IDs verwendet, die in Bibliotheken definiert sind. https://developer.android.com/sdk/installing/create-project.html

Auch manifest.xml Dateien werden mehr oder weniger intuitiv verschmelzen. Attribute eines gleichen Knotens in verschiedenen Dateien addieren sich, es sei denn, es gibt einen Konflikt, der eine Ausnahme auslöst, und Sie müssen den Konflikt lösen. Verschiedene Knoten des Manifests jedes Moduls werden dem endgültigen Manifest hinzugefügt. Zum Beispiel können Sie einen Service in der manifest.xml eines Bibliotheksmoduls definieren, ohne etwas zur Manifestdatei der Hauptmodule hinzuzufügen, und alles wird gut.

Sie können mehr über das Zusammenführen von Manifesten lesen here.

Verwandte Themen