Sono nuovo di Gradle sistema di compilazione, ho un progetto di libreria che comprende le dipendenze come retrofit, okhttp eccAndroid dipendenze AAR
ho compilato il mio progetto e ha creato un file AAR. Ho creato un progetto fittizio e aggiunto la mia biblioteca aar come dipendenza.
Ora, se non aggiungo Retrofit e okhttp come dipendenza nel file build.gradle dell'app mia dummy, la mia app si arresta in modo anomalo con un'eccezione class non trovata.
La mia domanda è: Poiché il file di libreria aar include già Retrofit e okhttp come dipendenza, allora perché devo aggiungerli esplicitamente anche nel file build.gradle dell'applicazione fittizia? C'è una soluzione.
Ecco il mio build.gradle biblioteca
apply plugin: 'com.android.library'
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.+'
}
}
allprojects {
repositories {
jcenter()
}
}
android {
compileSdkVersion 22
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.+'
compile 'com.android.support:recyclerview-v7:21.+'
compile 'com.android.support:cardview-v7:21.+'
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.squareup.okhttp:okhttp:2.2.0'
compile 'com.squareup.retrofit:retrofit:1.9.0'
}
è stato salvato il mio giorno, ma per essere chiaro che abbiamo bisogno di aggiungere 'mavenLocal()' a 'build.gradle' di l'app che utilizzerà la libreria, non nella libreria stessa – Guillaume