Я работаю над библиотекой, которая распределяется как java-банка, и я запускаю proguard на ней таким образом, чтобы оставлять только открытые интерфейсы. У меня есть класс конфигурации с кучей переменных-членов и некоторые перечисления. Моя proguard script сохраняет мелкие переменные-члены, однако определения 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 "
Спасибо за помощь!