title: Android Proguard Duplicate Definition
body: <p>I'm attempting to add a 3rd party library (JmDNS) to my Android project.  </p>
  
  <p>I created a folder 'libs' under the base project directory, and dropped the jar file in the directory.  </p>
  
  <p>When I attempt to build he project using Ant (ant release), I receive a 'duplicate definition' notices for what appears to be each class in the JmDNS jar file.</p>
  
  <pre><code>....
  [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.
  </code></pre>
  
  <p>The build also fails with the following error:</p>
  
  <pre><code>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]))
  </code></pre>
  
  <p>I've made sure that the jar file is only included once, and there is no other way that I am including duplicate source files anywhere in the project.</p>
  
  <p>Why else would Proguard complain about duplicate definitions?  </p>