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