Ho creato una libreria di Android (chiamato MyLib) che dipende altra libreria accessibile esperto di pronti contro termine (come GSON, retrofit, etc.).Come specificare le dipendenze nella libreria di aar?
MyLib
|
|-- Retrofit
|-- Gson
|-- ...
MyLib è confezionato in un file aar
.
L'obiettivo è quello di pubblicare una libreria AAR, che può essere incluso in un app Android (chiamato MyApp) senza specificare una seconda volta le dipendenze che MyLib usi.
MyApp
|
|-- MyLib
| |-- Retrofit
| |-- gson
| |-- ...
Questo è il mio build.gradle programma per MyLib
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.google.code.gson:gson:2.3.1'
}
Ora, se voglio costruire e gestire MyApp senza dipendenza problema, ho dovuto usare la seguente configurazione .gradle per MyApp (se non si specifica retrofit e gson come deps, un runtime ex viene lanciata l'inganno perché i deps non sono disponibili).
dependencies {
compile('[email protected]')
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.google.code.gson:gson:2.3.1'
}
Non voglio specificare in MyApp le dipendenze che vengono utilizzati all'interno MyLib, Come dovrei scrivere i miei file build.gradle?
Thansk in anticipo
Se MyLib è locale, è necessario utilizzare il progetto di compilazione (': MyLib') –
Sì, MyLib è locale ma impacchettato in un aar. MyLib e MyApp non sono nello stesso progetto. Si tratta di due diversi progetti. – reevolt
È sempre possibile fare riferimento a un'altra cartella esterna al projetc –