Program type already present: com.squareup.okhttp.Address

不想你离开。 提交于 2019-12-19 23:21:18

问题


I am trying to configure my android app to use Firebase Cloud Firestore. I also have dependencies on OKHttp3. Gradle will sync fine but I am unable to compile the app and run it. And I get the following error:

Program type already present: com.squareup.okhttp.Address

I have followed all the steps described here: https://firebase.google.com/docs/firestore/quickstart and I can run the app fine until I add this line to my build.gradle file:

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

I checked the dependencies in the project and it looks like Firestore has dependencies on com.squareup.okhttp while I already have dependencies on com.squareup.okhttp3

So I don't understand why they would clash since they have different package structures.

EDIT

Here are my dependencies in my 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'

}

回答1:


FIXED

It turned out the problem was not related to OkHttp - it was related to the Dexer compiler in the new version of android studio (3.0.0 and above) Going into the gradle.properties file and adding this line:

android.enableD8=false

solved my problem. The app now compiles normally

EDIT

The comments are right - you should NOT do this. The problem turned out to be that the project had gradle dependencies conflicting with .jar files manually imported. If you do have this problem, check if you've not got:

  1. Different versions of the same library imported by different modules in Gradle
  2. Jar file of a library you're also importing with Gradle



回答2:


Going into the gradle.properties file and adding this line:

android.enableR8=false
android.enableD8=false

I hope this works.



来源:https://stackoverflow.com/questions/49978680/program-type-already-present-com-squareup-okhttp-address

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!