Я работаю над JavaCard, поэтому мне нужна серьезная оптимизация с помощью Proguard. Сюда входят поле/специализация/тип и класс/объединение/вертикаль. Теперь я получаю обратно jar-файл, которым я очень доволен, но некоторые интерфейсы все еще включены, хотя их можно оптимизировать.
Чтобы организовать свой код, я использую несколько пакетов ( который Proguard сглаживает), и в каждом пакете у меня есть несколько общедоступных интерфейсов, которые я пытаюсь оптимизировать.
В настоящее время в интерфейсах указаны только некоторые методы получения, а поля в реализующих классах может быть помечен как общедоступный в полученном банке. На интерфейсы ссылаются только в реализующем классе, например: public Final class d реализует e {..., где d — единственный класс, реализующий e (в рабочем коде по меньшей мере). Больше нигде в коде e не отображается.
Как заставить Proguard сделать поля в d общедоступными и удалить e?
Мой файл proguard выглядит примерно так:
-verbose
-dontwarn java.lang.Class
-allowaccessmodification
-repackageclasses mypackage
-optimizeaggressively
-optimizationpasses 10
-keepattributes Exceptions
-printusage out.usage
-printmapping out.map
-keep public class mypackage.MyApplet {
public static void install(byte[], short, byte);
public void process(javacard.framework.APDU);
public void processToolkit(short);
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... -interface
Как заставить proguard удалить неиспользуемый публичный интерфейс ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Неудача сбоя с плагином Maven Proguard - Proguard (Proguard.proguard) не найден в Classpath
Anonymous » » в форуме JAVA - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-