Duplicate zip entry [classes.jar:android/support/design/widget/CoordinatorLayout$Behavior.class]

后端 未结 4 509
醉话见心
醉话见心 2020-12-01 16:29

I have following dependency and getting CoordinatorLayout$Behavior duplicate entry. I have searched so more but did not find any solution.

I am getting

4条回答
  •  心在旅途
    2020-12-01 16:53

    Aside of using Project view -> External Libraries, I use gradle command to output the dependencies into a txt file for searching. Use ./gradlew On Mac and gradlew.bat on Window.

    $ ./gradlew -q :app:dependencies > dependencies.txt
    

    In dependencies.txt, use "Find" and type "design", for example, and look at all highlighted libraries and their version number. From some SO posts, they suggest to exclude duplicated dependencies. If a dependency is included by another one (for example, com.android.support:cardview-v7 is included by com.firebaseui:firebase-ui-auth), we can omit that dependency from the app/build.gradle.

    I fixed my project by removing these dependencies from my gradle:

    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:support-vector-drawable:27.1.0'
    implementation 'com.android.support:cardview-v7:27.1.0'
    

    I keep this one (and upgrade from 27.0.2 to 27.1.0):

    implementation 'com.android.support:design:27.1.0'
    

    Add exclude to following dependencies:

    implementation 'com.firebaseui:firebase-ui-auth:3.1.2', {
        exclude group: 'android.arch.lifecycle', module: 'extensions'
        exclude group: 'com.android.support', module: 'design'
    }
    implementation 'com.romandanylyk:pageindicatorview:1.0.0', {
        exclude group: 'com.android.support', module: 'support-core-ui'
    }
    

    I got into the lifecycle issue after add/remove dependencies. Another SO post suggest that two different version of library was included. So, I updated the output file in step 1 and check:

    +--- 'com.google.firebase:firebase-core:11.8.0'
    |    +--- 'android.arch.lifecycle:runtime:1.1.0' 
    
    +--- 'com.firebaseui:firebase-ui-auth:3.1.2'
    |    +--- 'android.arch.lifecycle:extensions:1.0.0'
    

    By excluding android.arch.lifecycle:extensions that solve the compile problem.

提交回复
热议问题