添加 Firebase 依赖项后 Gradle 同步失败:打包 APK 期间文件重复

Posted

技术标签:

【中文标题】添加 Firebase 依赖项后 Gradle 同步失败:打包 APK 期间文件重复【英文标题】:Gradle sync fails after adding Firebase dependency: duplicate files during packaging of APK 【发布时间】:2014-09-30 00:40:55 【问题描述】:

添加 Firebase 依赖项似乎会破坏默认 android Studio 项目的 Gradle 构建。这是我所做的:

    我在 Android Studio 中创建了一个新的默认 Android 应用。它开箱即用。

    我将 Firebase Gradle 依赖项添加到 app/build.gradle 文件中:

    ...
    dependencies 
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.firebase:firebase-client:1.0.16+'
    
    

    Gradle 同步因此错误而中断:

    Error:duplicate files during packaging of APK /Users/mimming/code/firebase-rawr/app/build/outputs/apk/app-debug-unaligned.apk
        Path in archive: META-INF/LICENSE
        Origin 1: /Users/me/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.2.2/stuff/jackson-annotations-2.2.2.jar
        Origin 2: /Users/me/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.2.2/stuff/jackson-databind-2.2.2.jar
    

【问题讨论】:

【参考方案1】:

这是由 Gradle 处理依赖项的方式中的错误引起的。它正在Android OSP bug tracker 中进行跟踪。

您可以通过在您的 app/build.gradle 文件中添加几个排除项来解决 Firebase 的此错误:

android 
    packagingOptions 
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    
...

【讨论】:

以上是关于添加 Firebase 依赖项后 Gradle 同步失败:打包 APK 期间文件重复的主要内容,如果未能解决你的问题,请参考以下文章

添加最新的 Firebase 依赖项后应用程序崩溃

添加 firebase 后构建 Flutter apk 时出现 Gradle 错误

颤振:FlutterFcmService - 致命:找不到回调

Firebase 与 Swift

gradle 出错,使用 gluon mobile

添加 cocoapods 依赖项后,Fastlane 健身房失败