APK的包装过程中的重复文件:增加火力地堡依赖后摇篮同步失败 [英] Gradle sync fails after adding Firebase dependency: duplicate files during packaging of APK

查看:117
本文介绍了APK的包装过程中的重复文件:增加火力地堡依赖后摇篮同步失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

添加火力地堡的依赖似乎打破了摇篮打造默认的Andr​​oid Studio项目中。下面是我所做的:


  1. 我创建Android Studio中一个新的默认Android应用程序。它建立了良好的开箱即用的。

  2. 我增加了火力地堡摇篮依赖于应用程序/的build.gradle 文件:

      ...
    依赖{
        编译文件树(导演:'库',包括:['的* .jar'])
        编译com.firebase:火力客户端:1.0.16+
    }


  3. 摇篮同步与此错误朗声道:

     错误:APK /Users/mimming/$c$c/firebase-rawr/app/build/outputs/apk/app-debug-unaligned.apk的包装过程中的重复文件
        路径档案:META-INF / LICENSE
        原产地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
        原产地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



解决方案

这是由摇篮如何处理相关性的错误引起的。它在的Andr​​oid OSP bug跟踪系统被跟踪。

您可以解决这个bug的火力地堡中加入一对夫妇排除到你的应用程序/的build.gradle 文件:

 安卓{
    packagingOptions {
        排除META-INF / LICENSE
        排除META-INF /注意事项
    }
...
}

Adding the Firebase dependency seems to break the Gradle build of the default Android Studio project. Here's what I did:

  1. I created a new default Android app in Android Studio. It built fine out of the box.
  2. I added the Firebase Gradle dependency to the app/build.gradle file:

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

  3. Gradle sync broke with this error:

    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
    

解决方案

This is caused by a bug in how Gradle treats dependencies. It's being tracked in the Android OSP bug tracker.

You can work around this bug for Firebase by adding a couple of excludes to your app/build.gradle file:

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

这篇关于APK的包装过程中的重复文件:增加火力地堡依赖后摇篮同步失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆