Подтвердить что ты не робот

Предупреждение Android Proguard: невозможно записать ресурс (запись в Duplicate zip)

Я включил 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'
}
4b9b3361

Ответ 1

Вы используете библиотеку с дублирующимися файлами, является ошибкой в ​​ gradle, чтобы решить эту проблему в вашем проекте build.gradle

android {
    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude '.readme'
    }
}

Ответ 2

Из Руководство по Proguard:

Предупреждение: невозможно записать ресурс... Дублировать запись zip

Ваши входные баночки содержат несколько файлов ресурсов с тем же именем. ProGuard продолжает копировать файлы ресурсов, как обычно, пропуская любые файлы с ранее использованными именами. Еще раз предупреждение может быть указание какой-либо проблемы, поэтому, поэтому рекомендуется удалить дубликаты. Удобный способ сделать это - указать фильтры на входные банки. Невозможно отключить эти предупреждения.

Стандартный процесс сборки Android автоматически определяет входные банки для вас. Возможно, нет простого способа отфильтровать их для удаления эти предупреждения. Вы можете удалить дубликаты файлов ресурсов вручную из ввода и библиотек.

Ответ 3

Добавление опции -ignorewarnings в файл конфигурации proguard для меня. Он по-прежнему дает предупреждение для "META-INF/LICENSE.txt", но сборка не прерывается. Но используйте этот параметр, только если вы уверены в его эффектах. Для получения дополнительной информации следуйте http://proguard.sourceforge.net/manual/usage.html#ignorewarnings.