Android 程序类型已存在:okhttp3。请调用$Factory

Android 程序类型已存在:okhttp3。请调用$Factory,android,android-studio,android-gradle-plugin,Android,Android Studio,Android Gradle Plugin,我有一个非常简单的Android项目,拒绝在Android Studio中构建,只是给了我一个神秘的错误消息: Program type already present: okhttp3.Call$Factory Message{kind=ERROR, text=Program type already present: okhttp3.Call$Factory, sources=[Unknown source file], tool name=Optional.of(D8)} 以下是我的依赖

我有一个非常简单的Android项目,拒绝在Android Studio中构建,只是给了我一个神秘的错误消息:

Program type already present: okhttp3.Call$Factory
Message{kind=ERROR, text=Program type already present: okhttp3.Call$Factory, sources=[Unknown source file], tool name=Optional.of(D8)}
以下是我的依赖项:

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'net.openid:appauth:0.7.0'
    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    implementation files('libs/easywsdl/ksoap2-android-assembly-3.6.2-jar-with-dependencies.jar')
    implementation files('libs/easywsdl/ExKsoap2-1.0.2.0.jar')
}

如何排除故障?

您的一个.jar应该已经包含
okHttp3
,这可能就是
实现'com.squareup.okHttp3:okhttp:3.10.0'出现问题的原因。

如果删除此依赖项,则不会出现错误


您可以打印与
gradlew app:dependencies一起使用的所有依赖项的树(其中app是用于您的应用程序的模块的名称,通常是创建新的android应用程序项目时的默认名称)

您的.jar之一应该已经包含
okHttp3
,这可能就是
实现'com.squareup.okhttp3:okhttp:3.10.0'
出现问题的原因

如果删除此依赖项,则不会出现错误


你可以打印一个包含所有与
gradlew app:dependencies
一起使用的依赖项的树(其中app是用于你的应用程序的模块名称,通常是创建新的android应用程序项目时的默认名称)

我不是直接使用okhtpp3库,而是使用twitter的核心库,其中包括okhttp3库,那我该怎么办?我必须同时使用twitter核心和ksoap2(导致崩溃)。我没有直接使用okhtpp3库,但我使用的是twitter的核心库,其中包括okhttp3库,那么我会怎么做?我必须同时使用twitter核心和ksoap2(导致崩溃)