Как исключить проект Android Library в ProGuard?

У меня есть проект приложения Android, который ссылается на проект внешней библиотеки. Proguard в приложении всегда терпит неудачу со следующим сообщением об ошибке:

Proguard returned with error code 1. See console 

Error: Can't read [*](Can't process class [com/*/*/a.class] (Expected Utf8Constant at index
[6] in class [com/*/*/a]))

Я попробовал несколько способов (таких как -keep, -dontwarn, -injar и т. Д.), Чтобы исключить jar во внешнем проекте библиотеки, который содержит.class, но не смог продолжить.

Как правильно исключить проекты внешних библиотек, которые также могут иметь один или несколько файлов JAR в библиотеках?

1 ответ

Файл класса кажется поврежденным; ProGuard действительно не может его использовать. Может быть, это было обработано каким-то другим инструментом? Вы можете увидеть, принимает ли это javap:

javap -classpath libs/library.jar com.x.y.a

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

Другие вопросы по тегам