我启用了proguard并得到了:
Warning:can't write resource [META-INF/LICENSE.txt] (Duplicate zip entry [commons-io-2.4.jar:META-INF/LICENSE.txt])
Warning:can't write resource [META-INF/NOTICE.txt] (Duplicate zip entry [commons-io-2.4.jar:META-INF/NOTICE.txt])
Warning:can't write resource [META-INF/LICENSE.txt] (Duplicate zip entry [commons-collections-3.2.1.jar:META-INF/LICENSE.txt])
Warning:can't write resource [META-INF/NOTICE.txt] (Duplicate zip entry [commons-collections-3.2.1.jar:META-INF/NOTICE.txt])
Warning:can't write resource [META-INF/LICENSE.txt] (Duplicate zip entry [joda-time-2.7-no-tzdb.jar:META-INF/LICENSE.txt])
Warning:can't write resource [META-INF/NOTICE.txt] (Duplicate zip entry [joda-time-2.7-no-tzdb.jar:META-INF/NOTICE.txt])
Warning:can't write resource [META-INF/LICENSE.txt] (Duplicate zip entry [commons-primitives-1.0.jar:META-INF/LICENSE.txt])
Warning:can't write resource [META-INF/services/javax.annotation.processing.Processor] (Duplicate zip entry [icepick-processor-2.3.6.jar:META-INF/services/javax.annotation.processing.Processor])
Warning:can't write resource [.readme] (Duplicate zip entry [classes.jar:.readme])
Warning:can't write resource [META-INF/LICENSE.txt] (Duplicate zip entry [commons-lang-2.6.jar:META-INF/LICENSE.txt])
Warning:can't write resource [META-INF/NOTICE.txt] (Duplicate zip entry [commons-lang-2.6.jar:META-INF/NOTICE.txt])
这是什么意思? 我应该排除像这里的东西吗?
configurations {
all*.exclude group: 'commons-logging', module: 'commons-logging'
}
答案 0 :(得分:30)
您正在使用包含重复文件的库,这是gradle中的错误,解决在项目build.gradle中使用它的问题
android {
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude '.readme'
}
}
答案 1 :(得分:1)
警告:无法写入资源...重复的zip条目
您的输入jar包含多个具有相同名称的资源文件。 ProGuard继续像往常一样复制资源文件,跳过任何文件 以前使用过的名称的文件。再一次,警告可能是一个 虽然有一些问题的指示,所以建议删除 重复。一种方便的方法是在上面指定过滤器 输入罐子。没有选项可以关闭这些警告。
标准的Android构建过程会自动为您指定输入jar。可能没有一种简单的方法可以过滤它们以进行删除 这些警告。您可以手动删除重复的资源文件 来自输入和库。
答案 2 :(得分:0)
在proguard配置文件中添加选项-ignorewarnings
对我有用。它仍会对'META-INF / LICENSE.txt'发出警告,但构建不会失败。但只有在确定其效果时才使用此选项。关注http://proguard.sourceforge.net/manual/usage.html#ignorewarnings以获取更多信息。