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

Android Proguard с внешней банкой

Я добавил внешний файл jar в папку libs проекта mt и настроил его в пути сборки. Когда я пытаюсь "Экспорт пакета Android", я получаю сообщение об ошибке Proguard для множества ссылочных классов, которые не найдены, например: Предупреждение: com.itextpdf.text.BaseColor: не может найти ссылочный класс java.awt.Color

Когда я пытался отлаживать класс BaseColor, он работал нормально, поэтому я не могу понять, почему он предупреждает меня.

Любая помощь будет оценена,

Спасибо

4b9b3361

Ответ 1

Я пробовал несколько дней, чтобы правильно работать с внешними барабанами. Были предложения сделать что-то вроде загрузки ссылочных JARS или правильно определить libjars. Ни один из них не работал у меня.
Что делало эту работу для JARS, которая ошибалась:

-dontwarn javax.management.**
-dontwarn java.lang.management.**
-dontwarn org.apache.log4j.**
-dontwarn org.apache.commons.logging.**
-dontwarn org.slf4j.**
-dontwarn org.json.*

и это:

-keep class javax.** { *; }
-keep class org.** { *; }
-keep class twitter4j.** { *; }

(Очевидно, вам нужно будет настроить это, чтобы оно соответствовало вашим сообщениям об ошибках)

Удачи.

Ответ 2

com.itextpdf.text.BaseColor включен в добавленную банку, я думаю. Он расширяет java.awt.Color, который не входит в него, а в дистрибутив Java, который вы используете в Eclipse.

Когда вы экспортируете файл, процесс экспорта застрял, поскольку java.awt.Color не существует в базовой системе Android. Я не думаю, что это связано с Proguard: это должно произойти, даже если вы отключите обфускацию.