Duplicate entry: com/google/firebase/FirebaseApiNotAvailableException.class

前端 未结 4 560

I have an Android project built with React-Native and employing Google Play Services (analytics, cloud messaging, ads). I\'m not explicitly using Firebase anywhere.

相关标签:
4条回答
  • 2020-12-31 12:58

    The problem is that you use both the plugins in the build.gradle file so remove the one Google Play Services plugin, like

    apply plugin: 'com.google.gms.google-services'
    

    and

    compile 'com.google.android.gms:play-services:11.0.2'
    

    So remove both of one library and then add

    packagingOptions {
        exclude 'META-INF/NOTICE' // It is not include NOTICE file
        exclude 'META-INF/LICENSE' // It is not include LICENSE file
    }
    
    0 讨论(0)
  • 2020-12-31 13:04

    java.util.zip.ZipException: duplicate entry: com/google/firebase/iid/zzb.class

    follow this its work .remove your current google play service dependency and go to file in android Studio select module setting and the select dependency tab now click on + icon and select lib dependency after that search your play service in studio and add it

    0 讨论(0)
  • 2020-12-31 13:11

    In my case, I was using this in app/build.gradle:

    compile 'com.google.android.gms:play-services-location:9.8.0'
    compile 'com.google.android.gms:play-services-maps:9.8.0'
    

    The error when I was trying to generate a Signed APK was:

    Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'.
    > com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/firebase/FirebaseApiNotAvailableException.class
    

    I modified app/build.gradle by removing the two lines I mentioned above and using this instead:

    compile 'com.google.android.gms:play-services:9.8.0'
    

    Of course "play-services" is the full bundle and not an optimized way to do this. It would be best to specify the specific services that are required (read Does "play-services:9.8.0" include "play-services-location:9.8.0"?), but for now it fixes the error in my case.

    0 讨论(0)
  • 2020-12-31 13:16

    Well - the culprit is React-Native.

    The hint was this obscure line that appears on the Gradle console:

    google-services plugin could not detect any version for com.google.android.gms or com.google.firebase, default version: 9.0.0 will be used.

    The fix? Force the RN library project to link with the correct Firebase version, by adding the following line to its build.gradle:

    compile 'com.google.firebase:firebase-core:9.2.1'
    

    And thus:

    As a side-note, this issue has triggered me to look deeper into gradle dependency management. I've written an extensive post about resolving common dependency issues.

    0 讨论(0)
提交回复
热议问题