我试图添加第三方库(JmDNS)到我的Android项目。Android Proguard重复定义
我在基础项目目录下创建了一个文件夹'libs',并将该jar文件放入目录中。
当我尝试使用Ant(ant release)构建他的项目时,我收到一个'重复定义',通知JmDNS jar文件中每个类似乎是什么。
....
[proguard] Note: duplicate definition of library class [javax.jmdns.impl.tasks.state.Canceler]
[proguard] Note: duplicate definition of library class [javax.jmdns.impl.tasks.state.DNSStateTask]
[proguard] Note: duplicate definition of library class [javax.jmdns.impl.tasks.state.Prober]
[proguard] Note: duplicate definition of library class [javax.jmdns.impl.tasks.state.Renewer]
[proguard] Note: duplicate definition of library class [javax.jmdns.impl.tasks.state.package-info]
[proguard] Note: duplicate definition of library class [javax.jmdns.package-info]
[proguard] Note: there were 357 duplicate class definitions.
构建也失败,出现以下错误:
BUILD FAILED
/path/Tools/ant-android-scala/build-scala.xml:183: Can't write [/path/bin/projectname-debug-shrinked.jar] (Can't read [/path/projectname/libs/jmdns.jar(;;;;!META-INF/MANIFEST.MF,!library.properties)] (Duplicate zip entry [jmdns.jar:javax/jmdns/JmDNS$Delegate.class]))
我确信,jar文件仅包含一次,还有就是我包括复制源文件没有其他办法项目中的任何地方。
为什么Proguard会抱怨重复的定义?
一个干净的项目设法修复它(在尝试了一堆建议的答案后)似乎是一个陈旧的版本的lib被保存在生成文件夹或东西 – Fonix 2016-01-04 03:19:16