Hai un paio di opzioni diverse.
Un'opzione consiste nel mantenere le librerie come progetti separati e compilarle in un formato di archivio, come JAR o AAR; I file JAR sono per pura libreria Java e AAR è per le librerie Android (che contengono codice che accede alle API Android e/o ha risorse Android). Come è stato sottolineato nei commenti, AAR non ti obbliga a pubblicare il tuo codice per il mondo più di quanto farebbero i file JAR; è solo un formato di file di archivio i cui file possono essere locali al tuo computer o alla tua organizzazione.
Con il file di archivio in mano, è possibile includerlo in altri progetti.Se fai parte di un'organizzazione multi-sviluppatore, potresti trovare conveniente utilizzare un gestore di repository per pubblicare e mantenere tali librerie all'interno della tua organizzazione ed è possibile utilizzare le specifiche Maven in stile coordinato per includere le librerie nei progetti, che non è necessario copiare manualmente sul proprio computer di sviluppo.
Lo svantaggio di questo approccio è che rende un po 'più difficile apportare modifiche a tali librerie: è necessario caricare il progetto, apportare modifiche, creare un archivio e distribuire l'archivio.
L'altro approccio è di mantenere la libreria come un modulo sorgente come è stato fatto in Eclipse. Hai notato che Android Studio eseguirà una copia del modulo se lo importi tramite l'interfaccia utente, ma se elimini l'interfaccia utente e modifichi direttamente gli script di compilazione, puoi fare ciò che desideri, ossia utilizzare il modulo sul posto e condividere una singola copia tra più progetti. Per fare questo, il lavoro nel settings.gradle file di e aggiungere questo:
include ':module_name'
project(':module_name').projectDir = new File(settingsDir, '../relative/path/to/module')
caldamente incoraggiarvi a non utilizzare un percorso relativo pura qui; in questo esempio, il percorso è ancorato alla variabile settingsDir
fornita da Gradle, che è definita come la directory in cui è stato trovato settings.gradle. Se si utilizza un percorso relativo puro (cioè non ancorato a nulla), si dipenderà dalla directory di lavoro che è la stessa in tutti gli ambienti in cui viene eseguito il file di build (riga di comando contro server Android Studio vs CI), che non è una buona cosa da assumere.
fonte
2014-12-12 17:23:54
Ho modificato la domanda con una spiegazione più accurata di ciò che era possibile con Eclipse. –
@greenapps, il tuo commento non è costruttivo. Google la tua domanda prima, e se per qualche strana ragione, non riesci a trovare nulla su Progetti di biblioteca, torna qui e fai una domanda. – 323go
La generazione di una RAA NON espone il tuo codice. Controlla [la mia domanda su questo] (http://stackoverflow.com/questions/26531709/create-android-library-aar-including-javadoc-and-sources) – jmm