在模块 jetified-okhttp-3.12.0 和 jetified-okhttp-ws-3.4.1 中发现重复的类 okhttp3.internal.ws.RealWebSocket

Posted

技术标签:

【中文标题】在模块 jetified-okhttp-3.12.0 和 jetified-okhttp-ws-3.4.1 中发现重复的类 okhttp3.internal.ws.RealWebSocket【英文标题】:Duplicate class okhttp3.internal.ws.RealWebSocket found in modules jetified-okhttp-3.12.0 and jetified-okhttp-ws-3.4.1 【发布时间】:2021-10-13 23:07:42 【问题描述】:

我有一个类似的依赖错误

在模块 jetified-okhttp-3.12.0 (com.squareup.okhttp3:okhttp:3.12.0) 和 jetified-okhttp-ws-3.4.1 (com .squareup.okhttp3:okhttp-ws:3.4.1)

我正在使用 WebSocket 和 LoggingInterceptor 并实现了这两个依赖项, 下面是我的build.gradle

plugins 
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
    id 'com.google.gms.google-services'
    id 'com.google.firebase.crashlytics'


android 
   
    compileSdkVersion 30
    buildToolsVersion "30.0.2"

    defaultConfig 
        applicationId "com.mrrights.harvestoperator"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

    

    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            aaptOptions  cruncherEnabled = false 
            signingConfig signingConfigs.release
            multiDexEnabled true
        


    
    compileOptions 
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    

    kotlinOptions 
        jvmTarget = '1.8'
    

        lintOptions 
            checkReleaseBuilds false
            // Or, if you prefer, you can continue to check for errors in release builds,
            // but continue the build even when errors are found:
            abortOnError false
        



dependencies 

    //kotlin
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.3.2'

    //ui
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.work:work-runtime:2.4.0'
    implementation 'androidx.navigation:navigation-fragment-ktx:2.3.2'
    implementation 'androidx.navigation:navigation-ui-ktx:2.3.2'
    implementation "androidx.cardview:cardview:1.0.0"

    //google map & location
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    implementation 'com.google.android.gms:play-services-location:17.1.0'
    implementation 'com.google.android.libraries.places:places:2.4.0'
    implementation 'com.google.maps.android:maps-utils-ktx:2.2.0'

    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:26.1.0')

    // Firebase Messaging Service
    implementation 'com.google.firebase:firebase-messaging-ktx'

    // Firebase Analytics for Logs in server side
    implementation 'com.google.firebase:firebase-analytics-ktx'

    // Firebase Authentication
    implementation 'com.google.firebase:firebase-auth-ktx'
    // FirebaseUI (for authentication)
    implementation 'com.firebaseui:firebase-ui-auth:6.2.0'
    //firebase firestore
    implementation 'com.google.firebase:firebase-firestore-ktx'

    //firebase storage
    implementation 'com.google.firebase:firebase-storage-ktx'

    // FirebaseUI for Cloud Firestore
    implementation 'com.firebaseui:firebase-ui-firestore:7.1.1'
    implementation 'com.firebaseui:firebase-ui-storage:4.1.0'
    implementation 'com.google.firebase:firebase-storage:15.0.2'
    implementation 'com.google.firebase:firebase-crashlytics:17.3.1'
    implementation 'com.google.firebase:firebase-analytics:18.0.2'
    implementation 'com.android.support:cardview-v7:28.0.0'

    //Testing
    testImplementation 'junit:junit:4.13.1'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

    //image view with URl
    implementation 'com.squareup.picasso:picasso:2.71828'

    //coroutines
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9'

    //steps view
    implementation 'com.shuhart.stepview:stepview:1.5.1'

    //datePicker
    implementation 'com.vivekkaushik.datepicker:datePickerTimeline:0.0.4'

    //Retrofit, Interceptor, Json to Gson converter
    implementation 'com.squareup.retrofit2:retrofit:2.6.0'
    implementation 'com.google.code.gson:gson:2.8.6'
    implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.12.0'
    implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'

    implementation "androidx.multidex:multidex:2.0.1"
    implementation 'com.squareup.okhttp3:okhttp-ws:3.4.1'
    implementation "com.squareup.okhttp3:okhttp-urlconnection:3.4.1"
    implementation 'com.squareup.retrofit2:converter-jackson:2.1.0'

    // PhilJay MPAndroidChart
    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'

    implementation 'com.github.bumptech.glide:glide:4.11.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'

    //PhotoView
    implementation 'com.github.chrisbanes:PhotoView:2.1.4'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
    annotationProcessor 'androidx.annotation:annotation:1.1.0'
    //Circle Image View
    implementation 'de.hdodenhof:circleimageview:3.1.0'



帮我解决问题, 谢谢!

【问题讨论】:

【参考方案1】:

您必须使用所有 com.squareup.okhttp3 依赖项的单一一致版本。升级到 3.12.13

    implementation "com.squareup.okhttp3:okhttp-urlconnection:3.12.13"
    implementation "com.squareup.okhttp3:okhttp-urlconnection:3.12.13"

【讨论】:

以上是关于在模块 jetified-okhttp-3.12.0 和 jetified-okhttp-ws-3.4.1 中发现重复的类 okhttp3.internal.ws.RealWebSocket的主要内容,如果未能解决你的问题,请参考以下文章

verilog中在同一模块中调用其他多个模块,模块是顺序执行的吗

Nde模块篇

FPGA测试的时候需要编写测试模块,即激励模块,在编写测试模块时啥时候需要产生输入激励信号?

如何在 Jahia 7 的其他模块中使用模块的属性?

phpcms如何在首页上添加视频模块

无线WIFI模块主要使用在啥上面?