Gradle Xpp3错误

时间:2018-01-28 16:28:06

标签: android gradle android-gradle

执行发布版本的gradle构建时出现此错误。

  

错误:xpp3定义了与现在提供的类冲突的类   Android系统。解决方案包括寻找更新的版本或替代品   没有相同问题的库(例如,for   httpclient使用HttpUrlConnection或okhttp代替)或重新打包   图书馆使用像jarjar这样的东西。 [DuplicatePlatformClasses]

我试图排除httpclient,但这没有帮助 在调试版本中它的工作但在发布版本中它给了我这个错误。

我使用的是Android异步Http客户端,但删除它也无法解决错误。

我的gradle看起来像这样:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.corona.corona"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    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 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support:design:26.1.0'
    implementation 'com.android.support:support-v4:26.1.0'
    implementation 'com.android.support:recyclerview-v7:26.1.0'
    implementation 'com.android.support:cardview-v7:26.1.0'
    implementation 'com.pkmmte.view:circularimageview:1.1'
    implementation 'com.google.code.gson:gson:2.8.0'
    implementation 'org.igniterealtime.smack:smack-android:4.1.0'
    implementation 'org.igniterealtime.smack:smack-tcp:4.1.0'
    implementation 'org.igniterealtime.smack:smack-android-extensions:4.1.0'
    implementation 'com.mcxiaoke.volley:library:1.0.19'
    implementation 'com.github.bumptech.glide:glide:3.7.0'
    implementation 'id.zelory:compressor:2.1.0'
    implementation 'com.googlecode.libphonenumber:libphonenumber:8.6.0'
    implementation 'io.github.rockerhieu:emojicon:1.4.2'
    implementation 'io.github.rockerhieu:emojiconize:1.0.0'
    implementation 'com.google.android:flexbox:0.3.1'
    implementation 'com.mani:ThinDownloadManager:1.4.0'
    implementation 'jp.wasabeef:blurry:2.1.1'
    implementation 'com.facebook.shimmer:shimmer:0.1.0@aar'
    implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
}
repositories {
    mavenCentral()
}
configurations {
    all {
        exclude module: 'httpclient'
        exclude module: 'commons-logging'
        exclude group: 'org.apache.httpcomponents'
    }
}

2 个答案:

答案 0 :(得分:12)

似乎问题来自Smack库。尝试排除xpp3模块。

configurations {
    all {
        ...
        exclude group: 'xpp3', module: 'xpp3'
    }
}

答案 1 :(得分:2)

您需要使用以下命令从smack库中排除xpp3:

implementation ('org.igniterealtime.smack:smack-android:4.1.0') {
    exclude group: 'xpp3', module: 'xpp3'
}

implementation ('org.igniterealtime.smack:smack-tcp:4.1.0') {
    exclude group: 'xpp3', module: 'xpp3'
}

implementation ('org.igniterealtime.smack:smack-android-extensions:4.1.0') {
    exclude group: 'xpp3', module: 'xpp3'
}

或者,就像@ jose-antelo一样,您可以使用以下代码从所有依赖项中删除xpp3:

configurations {
  all*.exclude group: 'xpp3', module: 'xpp3'
}