带有重复 Zip 输入错误的 Proguard
Posted
技术标签:
【中文标题】带有重复 Zip 输入错误的 Proguard【英文标题】:Proguard with Duplicate Zip entry error 【发布时间】:2015-08-25 04:45:58 【问题描述】:当我应用proguard,然后在控制台,得到以下错误。请解决我的问题。
解决应用 progaurd 时重复 zip 输入错误。
控制台错误:
注意:有 157 个重复的类定义。
(http://proguard.sourceforge.net/manual/troubleshooting.html#duplicateclass)
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 [httpmime-4.2.1.jar:META-INF/NOTICE.txt])
Warning:can't write resource [META-INF/LICENSE.txt] (Duplicate zip entry [httpmime-4.2.1.jar:META-INF/LICENSE.txt])
有人帮我解决这个proguard问题吗?我在谷歌搜索了很多,但仍然找不到任何合适的解决方案。提前致谢。
【问题讨论】:
警告前的链接非常直接地解释了您的问题...proguard.sourceforge.net/manual/… @alfasin 我已经阅读了它。但是在这个文档中,我没有得到任何解决方案。 明确说明解决方案:从包含的 jar 中过滤掉这些资源。关于“如何”做这件事,这取决于你如何构建你的项目,rekire 在下面向你展示了如何使用 Gradle 来做这件事。 Here 是一个 Maven 示例,如果您使用其他任何东西 - 谷歌搜索应该不难。投票结束问题。 可能重复:***.com/questions/10397717/… 【参考方案1】:由于您没有编写详细信息,因此我希望您使用 android Studio 和 Gradle 作为构建系统。将此块添加到您的 android DSL:
packagingOptions
exclude '.readme'
exclude 'LICENSE.txt'
exclude 'README.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE.txt'
您不需要所有这些,但它会起作用。这基本上会阻止构建系统包含一些文件。在您的情况下,一些无用的文本文件。
【讨论】:
以上是关于带有重复 Zip 输入错误的 Proguard的主要内容,如果未能解决你的问题,请参考以下文章
Android - Proguard 重复 zip 输入错误
java.net.SocketException:软件导致连接中止:套接字写入错误[重复]