web-dev-qa-db-fra.com

Type de programme déjà présent: com.squareup.okhttp.Address

J'essaie de configurer mon application Android pour qu'elle utilise Firebase Cloud Firestore. J'ai aussi des dépendances sur OKHttp3. Gradle se synchronisera bien mais je ne parviens pas à compiler l'application ni à l'exécuter. Et j'obtiens l'erreur suivante: 

Type de programme déjà présent: com.squareup.okhttp.Address

J'ai suivi toutes les étapes décrites ici: https://firebase.google.com/docs/firestore/quickstart et je peux exécuter l'application correctement jusqu'à ce que j'ajoute cette ligne à mon fichier build.gradle: 

implementation 'com.google.firebase:firebase-database:15.0.0'

J'ai vérifié les dépendances dans le projet et il semble que Firestore ait des dépendances sur com.squareup.okhttp alors que j'ai déjà des dépendances sur com.squareup.okhttp3

Je ne comprends donc pas pourquoi ils se heurteraient car ils ont des structures de paquetages différentes. 

EDIT

Voici mes dépendances dans mon build.gradle: 

dependencies {

implementation "org.jetbrains.kotlin:kotlin-stdlib:${rootProject.ext.kotlin_version}"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-Android:0.19.3'
implementation 'com.jakewharton:butterknife:8.8.0'
kapt 'com.jakewharton:butterknife-compiler:8.8.0'
compileOnly 'com.google.auto.value:auto-value:1.3'
annotationProcessor 'com.google.auto.value:auto-value:1.3'
implementation "com.Android.support:design:${rootProject.ext.support_library_version}"
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
implementation "com.Android.support:support-compat:${rootProject.ext.support_library_version}"
implementation "com.Android.support:support-core-utils:${rootProject.ext.support_library_version}"
implementation "com.Android.support:support-core-ui:${rootProject.ext.support_library_version}"
implementation "com.Android.support:support-fragment:${rootProject.ext.support_library_version}"
implementation "com.Android.support:gridlayout-v7:${rootProject.ext.support_library_version}"
implementation "com.Android.support:recyclerview-v7:${rootProject.ext.support_library_version}"
implementation "com.Android.support:customtabs:${rootProject.ext.support_library_version}"
implementation 'com.Android.support:multidex:1.0.1'
implementation 'com.google.code.gson:gson:2.8.0'
implementation "com.google.Android.gms:play-services-auth:${rootProject.ext.play_services_version}"
implementation "com.google.Android.gms:play-services-maps:${rootProject.ext.play_services_version}"
implementation "com.google.Android.gms:play-services-location:${rootProject.ext.play_services_version}"
implementation "com.google.Android.gms:play-services-analytics:${rootProject.ext.play_services_version}"
implementation "com.google.Android.gms:play-services-wallet:${rootProject.ext.play_services_version}"
implementation "com.google.firebase:firebase-core:${rootProject.ext.firebase_version}"
implementation "com.google.firebase:firebase-crash:${rootProject.ext.firebase_version}"
implementation "com.google.firebase:firebase-messaging:${rootProject.ext.firebase_version}"
implementation "com.google.firebase:firebase-invites:${rootProject.ext.firebase_version}"
implementation "com.google.firebase:firebase-ads:${rootProject.ext.firebase_version}"

// Because RxAndroid releases are few and far between, it is recommended you also

// explicitly depend on RxJava's latest version for bug fixes and new features.
implementation 'io.reactivex.rxjava2:rxjava:2.0.9'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation('com.crashlytics.sdk.Android:crashlytics:2.7.0') {
    transitive = true
}
implementation 'org.Apache.commons:commons-lang3:3.4'
implementation 'com.facebook.Android:facebook-Android-sdk:4.13.1'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'io.card:Android-sdk:5.4.2'
implementation 'com.github.chrisbanes.photoview:library:1.2.3'
implementation 'uk.co.chrisjenx:calligraphy:2.1.0'
implementation 'com.tonicartos:superslim:0.4.13'
implementation 'com.sothree.slidinguppanel:library:3.1.1'
implementation 'com.rengwuxian.materialedittext:library:2.1.4'
implementation 'konifar:fab-transformation:1.0.0'
implementation 'me.grantland:autofittextview:0.2.1'
implementation 'com.braintreepayments.api:braintree:2.3.3'
implementation 'se.emilsjolander:stickylistheaders:2.7.0'
implementation 'net.danlew:Android.joda:2.9.4.1'
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.8.0'
debugImplementation 'com.squareup.leakcanary:leakcanary-Android:1.5.1'
releaseImplementation 'com.squareup.leakcanary:leakcanary-Android-no-op:1.5.1'
implementation 'com.facebook.stetho:stetho:1.5.0'
implementation 'ru.gildor.coroutines:kotlin-coroutines-retrofit:0.9.0'

testImplementation 'junit:junit:4.12'
testImplementation 'org.powermock:powermock-module-junit4:1.7.1'
testImplementation 'org.powermock:powermock-module-junit4-rule:1.7.1'
testImplementation 'org.powermock:powermock-api-mockito2:1.7.1'
testImplementation 'org.powermock:powermock-classloading-xstream:1.7.1'
testImplementation 'org.robolectric:robolectric:3.6.1'
testImplementation 'org.robolectric:shadows-multidex:3.6.1'
testImplementation 'org.khronos:opengl-api:gl1.1-Android-2.1_r1'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.8.9'
testImplementation 'com.squareup.leakcanary:leakcanary-Android-no-op:1.5.1'
testImplementation 'joda-time:joda-time:2.9.4'
androidTestImplementation fileTree(include: 'robotium-solo-5.3.0.jar', dir: 'libs')

//Screenshots
androidTestImplementation 'com.squareup.spoon:spoon-client:1.2.0'

// Cucumber
androidTestImplementation 'info.cukes:cucumber-Java:1.2.5'
androidTestImplementation('info.cukes:cucumber-Android:1.2.4') {
    exclude module: 'cucumber-jvm-deps'
}
androidTestImplementation('info.cukes:cucumber-picocontainer:1.2.4') {
    exclude module: 'cucumber-jvm-deps'
}
androidTestImplementation 'info.cukes:cucumber-jvm-deps:1.0.3'
androidTestImplementation 'com.Android.support.test:runner:0.5'
androidTestImplementation 'com.Android.support:support-annotations:25.3.1'

// Set this dependency to use JUnit 4 rules
androidTestImplementation 'com.Android.support.test:rules:0.5'

// Set this dependency to build and run Espresso tests
androidTestImplementation('com.Android.support.test.espresso:espresso-core:2.2.2') {
    exclude module: 'support-annotations'
}
androidTestImplementation 'com.Android.support.test.espresso:espresso-intents:2.2.2'

}
3
Moh Kh

FIXÉ

Il s'est avéré que le problème n'était pas lié à OkHttp - il était lié au compilateur Dexer dans la nouvelle version du studio Android (3.0.0 et versions ultérieures). 

Entrer dans le fichier gradle.properties et ajouter cette ligne: 

Android.enableD8=false

résolu mon problème. L'application compile maintenant normalement

0
Moh Kh

Entrer dans le fichier gradle.properties et ajouter cette ligne:

Android.enableR8=false
Android.enableD8=false

J'espère que ça marche.

0
user8489852