Повторное определение Android Proguard

Я пытаюсь добавить стороннюю библиотеку (JmDNS) в свой Android-проект.

Я создал папку «libs» в каталоге базового проекта и удалил файл jar в каталоге.

Когда я пытаюсь построить проект, используя Ant (ant release), я получаю уведомления о «дублировании определения» для каждых классов в jar-файле JmDNS.

.... [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 жалуется на дублирующие определения?

Solutions Collecting From Web of "Повторное определение Android Proguard"

Исправлено это, переместив сторонние библиотеки в другой каталог, в моем случае «lib». Затем добавили

 -injars lib/jmdns.jar 

В файл proguard.cfg.

Если сторонние lbs включены в папку «libs», они обрабатываются дважды.

В текущей версии progaurd нет необходимости указывать наборы. Он обрабатывается по умолчанию. Это может быть вызвано следующими причинами:

1) дублировать файлы jar в некоторых ссылочных библиотеках.

Решение. Удалено из приложения и позвольте ему быть справочной библиотекой.

2) Может быть связано с различными версиями gradle между вашим файлом gradle приложения и ссылкой на файл градиента библиотеки. Сделайте так же.

Решение. Измените файл градиента на один из файлов градиента справочной библиотеки / проекта. См. Classpath одинаково для обоих проектов.

dependencies { classpath 'com.android.tools.build:gradle:1.3.0' }

У меня были оба эти проблемы, исправить это, и это сработало.