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

Android - ошибка повторной записи zip-защиты Proguard

Я пытаюсь использовать proguard в приложении Android, который использует проект проекта андроидной библиотеки, и я получаю следующую ошибку:

java.io.IOException: Can't write 
    [/private/var/folders/Pg/PgUpPJQ-E5qxL7jX6kpdCE+++TI/-Tmp-/android_3140050575281008652.jar] 
    (Can't read [[email protected]] 
    (Duplicate zip entry 
    [be.class == android_144638064543155619.jar:com/comp/dp/library/R$anim.class]))
at proguard.OutputWriter.writeOutput(OutputWriter.java:224)
at proguard.OutputWriter.execute(OutputWriter.java:120)
at proguard.ProGuard.writeOutput(ProGuard.java:391)
at proguard.ProGuard.execute(ProGuard.java:152)
at proguard.ProGuard.main(ProGuard.java:499)

Мой файл proguard.cfg this вместе с несколькими -libraryjars, ссылающимися на rt.jar и пару других зависимых библиотек.

Я предполагаю, что эта проблема связана с использованием Библиотечного проекта и что proguard пытается обработать запись из проекта библиотеки дважды. Но я не был уверен, какие варианты я должен использовать, чтобы исправить это.

Любые предложения и направления приветствуются.

Обновление 1: Удалив -injars bin/classes, я смог справиться с этой проблемой. Я предполагал, что, поскольку proguard обрабатывает как проект библиотеки, так и проект приложения, файлы .class проекта библиотеки обрабатывались дважды. Однажды в библиотечном проекте bin/classes и в другом случае в папке приложения bin/classes.

4b9b3361

Ответ 1

Обновление 1 в вопросе решило мою проблему, и теперь я могу запустить свое приложение.

Этот ответ заключается только в том, чтобы отметить вопрос, на который я могу ответить через два дня.

Ответ 2

Если вы получаете двойную запись в zip, это означает, что она говорит, откройте банку и проверьте наличие дубликатов.

Например, проверьте, что ваш файл build.xml не содержит ничего подобного

<zipfileset src="${file.reference.joda-time-2.2.jar}" includes="**/*.class"/>
<zipfileset src="${file.reference.joda-time-2.2.jar}" includes="**/*"/>

Это будет включать файлы .class два раза!