2015-12-07 15 views
8

La mia azienda sta realizzando diversi progetti Android su Android Studio, che condividono tutti codici simili, come visualizzazioni personalizzate, client HTTP personalizzati e molte altre cose.Come configurare il modulo Libreria Android ed essere referenziato da più progetti in Android Studio?

Il problema che sto affrontando è che sono nuovo ad Android Studio e non sono sicuro di come estrarre questi codici comuni tra diversi progetti in un singolo modulo di libreria Android a cui faranno riferimento tali progetti.

In Eclipse è molto semplice, basta creare un nuovo progetto di libreria Android, quindi spostare il codice e impostare i progetti di applicazioni Android per fare riferimento alla libreria comune.

Come può un simile refactoring essere eseguito da Android Studio?

risposta

3

La nostra società ha utilizzato una struttura con più progetti con moduli condivisi. Supponiamo che tu abbia 2 progetti, project1 e project2, che sono 2 progetti indipendenti di Android Studio e vogliono condividere alcuni moduli. La struttura delle cartelle sarà simile a questo:

source-code-root-folder/ 
    + android-studio-project1/ 
     + project1-app-module/ 
     + project1-internal-module/ 
    + android-studio-project2/ 
     + project2-app-module/ 
     + project2-internal-module/ 
    + shared-module1/ 
    + shared-module2/ 

È possibile creare prima i progetti ei moduli di studio di Android. Quindi riposizionare le cartelle come la struttura sopra. Quindi aggiornare l'impostazione nel project1 mettendo queste impostazioni nel source-code-root-folder/android-studio-project1/settings.gradle:

include ':android-studio-project1' 
include ':project1-app-module' 
include ':project1-internal-module' 
include ':..:shared-module1' 
include ':..:shared-module2' 

quindi aprire il android-studio-project1/project1-app-module/build.gradle e aggiornare le dipendenze:

... 
dependencies { 
    ... 
    compile project(':project1-internal-module') 
    compile project(':..:shared-module1') 
    compile project(':..:shared-module2') 
} 

Questo renderà project1 poter caricare il modulo interno e la anche moduli condivisi. Prova a sincronizzare e crea il tuo progetto1 eseguendo build.gradle nel progetto1 e dovrebbe funzionare. Ovviamente è possibile utilizzare impostazioni simili per il progetto2.

Spero che questo possa aiutarti.

+0

Grazie, funziona! –

+0

Siete i benvenuti! – Chris

Problemi correlati