错误:com.android.dex.DexException:多个dex文件定义了Landroid/support/design/widget/CoordinatorLayout$HierarchyChangeListener。

5
我尝试过以下解决方案 - 解决方案1解决方案2
这是我的Gradle依赖项。
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:support-v4:27.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'
    //Recycleview
    implementation 'com.android.support:recyclerview-v7:27.0.2'
    //Butterknife
    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    //SDP
    implementation 'com.intuit.sdp:sdp-android:1.0.5'
    //OkHttp
    implementation 'com.squareup.okhttp3:logging-interceptor:3.9.1'
    //RxJava and RxAndroid
    implementation 'io.reactivex.rxjava2:rxjava:2.0.6'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation 'io.ashdavies.rx:rx-firebase:1.3.3'
    //RxBinding
    implementation 'com.jakewharton.rxbinding:rxbinding-design:0.4.0'
    //Retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.3.0'
    //Glide
    implementation 'com.github.bumptech.glide:glide:4.6.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
    //GSON
    implementation 'com.google.code.gson:gson:2.2.4'
    //Image Crop Library
    implementation 'com.theartofdev.edmodo:android-image-cropper:2.6.+'
    //Dagger Android
    implementation 'com.google.dagger:dagger:2.13'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.13'
    annotationProcessor 'com.google.dagger:dagger-android-processor:2.13'
    implementation 'com.google.dagger:dagger-android-support:2.13'
    //Only applying android dagger.
    implementation 'com.android.support:cardview-v7:27.0.2'
    implementation 'com.android.support:multidex:1.0.2'
}

我对'RxBinding design'依赖存在疑问,因为可能存在Coordinate layout重复类,所以我认为我需要排除CoordinatorLayout$HierarchyChangeListener,但不确定是从哪个依赖项中排除。
因此,我需要您的帮助,提前致谢。
1个回答

6
您需要在您的build.gradle中添加以下内容。
configurations.all {
    resolutionStrategy {
        force 'com.android.support:design:27.0.2'
        force 'com.android.support:support-v4:27.0.2'
        force 'com.android.support:appcompat-v7:27.0.2'
    }
}

如需更多信息,您可以考虑阅读此链接


谢谢Reaz,是的,这对我有用。现在你能否指导我为什么要写这些代码以及它们是如何工作的? - Sameer Jani
这就像强制所有其他库使用您在此处定义的确切版本。请查看更新的答案,其中包含了解决方案的链接。很高兴能帮助到您。欢迎。 - Reaz Murshed
再次感谢你,Reaz。如果我在这些事情上遇到困难,我会告诉你指导我的。 - Sameer Jani
当然可以。请告诉我。 - Reaz Murshed
@ReazMurshed 很好的回答,但我想为aar文件添加resolutionStrategy。我的意思是我必须为crashlytics添加它。那么我该如何添加呢? - Rujul Gandhi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接