【问题标题】:Android Proguard build Duplicate ZipAndroid Proguard 构建重复 Zip
【发布时间】:2014-10-24 05:13:24
【问题描述】:

在我的 android 应用程序中,我在 libs 文件夹中有多个第三方库

ex -: httpcore-4.2.4.jar , httpmime-4.2.5.jar,twitter4j-core-4.0.1.jar

这些库不是重复的,我很确定,但是当我创建 proguard 版本时,我得到了这个错误

(Duplicate zip entry [twitter4j-core-4.0.1.jar:META-INF/MANIFEST.MF])
.... (This error occurs for all of the library(libs)

我推荐这个链接来克服问题,我尝试了它的每一个选项,但没有运气,

Proguard warnings "can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry)"

有没有办法在输入jar上指定过滤器

【问题讨论】:

  • 这 7 个选项中的一个会起作用 - 当您尝试它们时,错误消息是否从 twitter4j 更改为其他内容?
  • 您错过了非常重要的信息。您正在使用哪个构建系统!摇篮?您使用的是哪个专业版本。您的 ADT 构建工具版本等是什么,请提供这些信息。尝试更新您的工具

标签: android proguard


【解决方案1】:

您的库没有重复,但几个库中的一些信息文件是重复的。

最好的解决方案是包含在您的 build.gradle 中。在“android”部分里面是这样的:

android{
 packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LGPL2.1'

    }
}

根据您在此处包含的错误消息,我猜想添加此排除将解决您的问题:

exclude "META-INF/MANIFEST.MF"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    相关资源
    最近更新 更多