android - Gradle图书馆冲突

标签 android gradle

我在库中发生冲突,无法解决,并且错误始终存在

多个dex文件定义了Lorg / apache / http / impl / client / DefaultRequestDirector;

如果我不实现jackson2和Robospice库,则将编译并运行该项目,但是,我需要这样做。

这是我的礼物

dependencies {


    implementation files('libs/speedchecker-android-sdk-1.3.jar')


    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.google.code.gson:gson:2.8.4'
    implementation 'com.squareup.okhttp:okhttp:2.5.0'
    implementation 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar'
    implementation 'com.google.android.gms:play-services-auth:15.0.1'
    implementation 'com.google.android.gms:play-services-gcm:15.0.1'

    implementation 'com.google.firebase:firebase-core:16.0.1'
    implementation 'com.google.firebase:firebase-messaging:17.1.0'
    implementation 'com.google.firebase:firebase-database:16.0.1'

    implementation 'com.google.android.gms:play-services-maps:15.0.1'
    implementation 'info.hoang8f:android-segmented:1.0.6'
    implementation 'com.google.code.ksoap2-android:ksoap2-android:2.6.0'
    testImplementation 'junit:junit:4.12'
    implementation('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
        transitive = true;
    }

    implementation('com.google.http-client:google-http-client-jackson2:1.19.0') {
        exclude module: 'commons-io' 
        exclude module: 'xpp3'
        exclude group: 'stax'
    }
    implementation('com.octo.android.robospice:robospice-google-http-client:1.4.14') {
        exclude module: 'commons-io'
        exclude group: 'org.apache.commons'
    }
}

尝试了几个小时后,我注意到冲突是由以下3个引起的(我购买时速度测试jar文件库附带了这两个库,因此在升级构建工具后会发生冲突)
implementation files('libs/speedchecker-android-sdk-1.3.jar')

implementation('com.google.http-client:google-http-client-jackson2:1.19.0') {
    exclude module: 'commons-io' 
    exclude module: 'xpp3'
    exclude group: 'stax'
}

implementation('com.octo.android.robospice:robospice-google-http-client:1.4.14') {
    exclude module: 'commons-io'
    exclude group: 'org.apache.commons'
}

最佳答案

更改gradle.property和multidexenable = true;

org.gradle.jvmargs=-Xmx1024m

compile 'com.android.support:multidex:1.0.1'

并且还包括
 multiDexEnabled true

关于android - Gradle图书馆冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51648295/

相关文章:

java - Android Studio - 如何从文本文件中读取(行)?

Android:如何只为图像的特定部分填充颜色?

gradle - 复制文件时如何过滤gradle?如果 token 以 “Tel-”开头并以 “-Tel”结束,则将 token 替换为V2

android - Gradle:无法将参数传递给插件中的类

android - 如何在android中卸载应用程序时删除共享首选项

java - 我的 RecyclerView 在过滤后不断重置

android - app:transformClassesWithJarMergingForDebug失败

android - Firebase - 应用分发未能获取应用信息 : [403] The caller does not have permission

android - 错误 : app:transformClassesWithDexBuilderForDebug

gradle - 使用持续集成在 Gradle 中发布快照与发布版本