首页 > 解决方案 > Android工作室中的重复类冲突

问题描述

迁移到 androidx 时,我发现模块httpmime-4.0.1.jarhttpmime-4.3.6.jar.

我在gradle中尝试了一些代码:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        applicationId "com.links.meplinks"
        minSdkVersion 19
        targetSdkVersion 29
        versionCode 29
        versionName "1.15.11"
        multiDexEnabled true

        android.compileOptions.sourceCompatibility 1.8
        android.compileOptions.targetCompatibility 1.8
        packagingOptions {
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/NOTICE.txt'
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
repositories {
    maven { url "https://dl.bintray.com/hani-momanii/maven" }
}
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'androidx.appcompat:appcompat:1.0.0'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'



    compile 'org.apache.httpcomponents:httpclient-android:4.3.5.1'
    compile('org.apache.httpcomponents:httpmime:4.3.6') {
        exclude module: 'httpclient'
        exclude module:'httpmime-4.0.1'
    }


}

在模块 httpmime-4.0.1.jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar (org.apache.httpcomponents:httpmime:4.3) 中发现重复的类 org.apache.http.entity.mime.FormBodyPart .6) 在模块 httpmime-4.0.1.jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar (org.apache.httpcomponents: httpmime:4.3.6) 在模块 httpmime-4.0.1.jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar (org. apache.httpcomponents:httpmime:4.3.6) 在模块 httpmime-4.0.1.jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar 中找到重复的类 org.apache.http.entity.mime.HttpMultipartMode (org.apache.httpcomponents:httpmime:4.3.6) 在模块 httpmime-4.0.1.jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar (org.apache.httpcomponents:httpmime:4.3.6) 在模块 httpmime-4.0.1.jar (httpmime-4.0 .1.jar) 和 httpmime-4.3.6.jar (org.apache.httpcomponents:httpmime:4.3.6) 在模块 httpmime-4.0.1.jar ( httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar (org.apache.httpcomponents:httpmime:4.3.6) 在模块 httpmime-4.0 中找到重复的类 org.apache.http.entity.mime.content.AbstractContentBody .1.jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar (org.apache.httpcomponents:httpmime:4.3.6) 发现重复类 org.apache.http.entity.mime.content.ContentBody在模块 httpmime-4.0.1.jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar (org.apache.httpcomponents:httpmime:4.3.6) 在模块 httpmime-4.0.1.jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar (org.apache.httpcomponents) 中发现重复的类 org.apache.http.entity.mime.content.FileBody :httpmime:4.3.6) 在模块 httpmime-4.0.1.jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar ( org.apache.httpcomponents:httpmime:4.3.6) 在模块 httpmime-4.0.1.jar (httpmime-4.0.1.jar) 和 httpmime-4.3 中找到重复的类 org.apache.http.entity.mime.content.StringBody .6.jar (org.apache.httpcomponents:httpmime:4.3.6)jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar (org.apache.httpcomponents:httpmime:4.3.6) 在模块 httpmime 中找到重复的类 org.apache.http.entity.mime.content.StringBody -4.0.1.jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar (org.apache.httpcomponents:httpmime:4.3.6)jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar (org.apache.httpcomponents:httpmime:4.3.6) 在模块 httpmime 中找到重复的类 org.apache.http.entity.mime.content.StringBody -4.0.1.jar (httpmime-4.0.1.jar) 和 httpmime-4.3.6.jar (org.apache.httpcomponents:httpmime:4.3.6)

转到文档以了解如何修复依赖关系解析错误。

标签: javaandroidapachejar

解决方案


尝试更新httpmime4.5.6并排除httpcore-4.4.10模块

implementation 'org.apache.httpcomponents:httpclient-android:4.3.5.1'
implementation ('org.apache.httpcomponents:httpmime:4.5.6'){
     exclude module: 'httpclient'
     exclude module:'httpcore-4.4.10'
}

推荐阅读