Обфускация файла jar с помощью proguard

Я использовал proguard, чтобы запутать мой файл jar. Во время обработки я получил следующие ошибки:

Initializing...
Warning: tdvep.jmNb: can't find referenced class QSYGWO
Warning: tdvep.qmfsfjttKdvEpNz: can't find referenced class FVTYBN
Warning: tdvep.qsfboBcSw$qsffmtssf: can't find referenced class UGKTLU
Warning: tdvep.qsffmtssf: can't find referenced class DREQUQ
Warning: there were 4 unresolved references to classes or interfaces.
         You may need to specify additional library jars (using '-libraryjars').

Сначала исправьте приведенные выше предупреждения. Так помогите мне разрешить это предупреждение.


person Community    schedule 02.01.2012    source источник
comment
Вернитесь к исходной точке и перестройте все jar-файлы из кода.   -  person Thorbjørn Ravn Andersen    schedule 02.01.2012


Ответы (1)


Вы проверили раздел устранения неполадок ProGuard — Проблемы при обработке.

Если их unresolved references to classes or interfaces, скорее всего, вы забыли указать необходимую библиотеку. Для правильной обработки необходимо указать все библиотеки, на которые ссылается ваш код, включая библиотеку времени выполнения Java. Для указания библиотек используйте параметр -libraryjars.

Например, если ProGuard жалуется, что не может найти класс javax.crypto, вам, вероятно, все же придется указать jce.jar, next to the more common rt.jar.

Если вам не хватает библиотеки, и вы абсолютно уверены, что она все равно не используется, вы можете попытать счастья с опцией -ignorewarnings или даже -dontwarn option. Используйте эти параметры только в том случае, если вы действительно знаете, что делаете.

Например, если вы разрабатываете для Android, а ProGuard жалуется, что не может найти java.awt class, то какая-то библиотека, которую вы используете, ссылается на java.awt. Это немного сомнительно, так как Android вообще не имеет этого пакета, но если ваше приложение все равно работает, вы можете позволить ProGuard принять его с помощью "-dontwarn java.awt.**".

person Niranjan Singh    schedule 02.01.2012
comment
я получил следующую ошибку Неожиданная ошибка при выполнении частичной оценки: Class = [tdvep/jmNb] Method = [‹init›()V] Exception = [java.lang.ArrayIndexOutOfBoundsException] (-1) -1 - person ; 02.01.2012
comment
проверьте эту ссылку.. i предлагаю вам обратиться за помощью в справку proguard .. там вы можете получить решение с деталями и позволить вам избежать этого в будущем ... надеюсь, что это поможет .. - person Niranjan Singh; 02.01.2012