Я работаю над библиотекой, которая распространяется как java jar, и я запускаю proguard на ней таким образом, чтобы оставить только нужные интерфейсы открытыми. У меня есть класс конфигурации с кучей переменных-членов и определением enum. Мой скрипт proguard прекрасно сохраняет переменные-члены, однако определения enum запутываются. Я перепробовал все, что мог придумать, чтобы заставить proguard сохранить эти внутренние и публичные перечисления, но я не могу заставить его работать.
Прямо сейчас я использую:
-keep public class com.stuff.MyConfigObject {
public *;
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
Если я попытаюсь:
-keep public enum com.stuff.MyConfigObject.MyEnum
Я получаю неоднозначную ошибку:
«Примечание: конфигурация ссылается на неизвестный класс 'com.stuff.MyConfigObject.MyEnum'"
Спасибо за помощь!