Android 程序类型已存在:okhttp3。请调用$Factory
我有一个非常简单的Android项目,拒绝在Android Studio中构建,只是给了我一个神秘的错误消息: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)} 以下是我的依赖
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(导致崩溃)