2014-02-06 16 views
5

Ich ziehe von Eclipse zu Android Studio und das ist meine Einrichtung in Eclipse: Ich habe mehrere Android-App-Projekte, abhängig von mehreren Bibliotheksprojekte (einige geteilt) alle innerhalb eines Arbeitsbereichs. In Android Studio habe ich zuerst damit begonnen, ein Projekt pro App zu erstellen, habe aber schnell gemerkt, dass ich die Bibliotheksprojekte als Module in jedem Projekt verwenden muss, in dem sie verwendet werden. Dies würde bedeuten, die Bibliotheksprojekte zu duplizieren und sie in jede App aufzunehmen, was sehr redundant ist und mehrere Kopien der Bibliotheken erfordern würde.Android Studio externe Bibliothek Projekte

Also wechselte ich alle meine Apps und Bibliotheken als Module innerhalb des gleichen Projekts. Dies funktioniert beim Erstellen, verursacht jedoch andere Probleme, z. B. Probleme bei der Versionskontrolle, da jedes Modul in einem separaten Repository zur Versionskontrolle lebt.

Was ist der sauberste Weg, dieses Setup zu haben? Und die eigentliche Frage ist, kann ich separate Projekte in AS haben, die dieselben externen Bibliotheksprojekte teilen?

+0

In Gradle Build System müssen Sie nicht alle Ihre Bibliotheksmodule im Projekt herunterladen. Sie können die Maven-Abhängigkeiten verwenden, um sie in Ihr Projekt zum Kompilieren einzubeziehen. – pyus13

Antwort

3

HINWEIS

Mit der Veröffentlichung von Android Studio 0.5.0, diese Antwort ist veraltet, aber ich werde es unten als Referenz lassen. Für mehr up-to-date Anweisungen, How to share a single library source across multiple projects


In Android Studio sehen, ist es schwierig, gemeinsam genutzte Bibliothek Projekte haben, denn zur Zeit ist es eine Einschränkung, dass alle Module in einem Projekt unter dem gleichen Stammordner leben müssen; Es scheint, als hättest du das herausgefunden, als du versucht hast, dein Problem zu lösen, indem du ein großes Projekt machst, das alles beinhaltet. Wir arbeiten daran, diese Einschränkung aufzuheben.

Die beste Antwort im Moment ist, die Bibliotheks-Module zu getrennten Projekten zu machen und sie in einem lokalen Maven-Repository veröffentlichen zu lassen, und die abhängigen Projekte müssen sie aus diesem Repo holen. Dies bedeutet, dass Sie leider nicht mit Ihren App + Bibliotheksmodulquellen aus dem Kontext eines einzelnen Projekts arbeiten können. Ein größerer Nachteil besteht darin, dass Quellanhänge für diese Bibliotheksmodule noch nicht funktionieren. Wenn Sie also versuchen, Ihre App zu debuggen, werden Sie Schwierigkeiten haben, in den Bibliotheken Code einzugeben.

Ich weiß, dass dies keine sehr gute Antwort ist, aber in diesem Stadium der Entwicklung von Android Studio ist es wahrscheinlich das Beste, was wir tun können. Wir wissen, dass es sich um einen ziemlich häufigen Anwendungsfall handelt, und es ist uns wichtig, diesen zu unterstützen.

+0

Danke für die Antwort. Ich nehme an, Maven Artefakte würden funktionieren, aber ich würde den Komfort des Zugreifens auf verwandte Projekte zur gleichen Zeit verlieren. Nachdem ich mein Setup benutzt habe, um "Projekte" als Module in ein und demselben Projekt für ein paar Tage zu verbinden, finde ich, dass dies für meine aktuellen Bedürfnisse ausreicht und neben Versionskontrollproblemen habe ich keine größeren Probleme. In diesem Fall Eclipse-Arbeitsbereich = AS-Projekt und Eclipse-Projekt = AS-Modul. – Inn0vative1

+0

Wir warten auf euch, um das Problem zu beheben. Wir versuchen, Git-Submodul zu verwenden, um es zu überwinden. Es ist nicht sehr klar in Bezug auf Git-Operationen. – SXC

+0

Hallo Scott, können Sie schließlich eine Anwendung Projekt Verweis freigegebene Bibliothek Projekte außerhalb des Stammverzeichnisses des Anwendungsprojekts? Hast du ETA? – SXC

Verwandte Themen