Proguard не будет хранить перечисления членов класса

Я работаю над библиотекой, которая распространяется как 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»

Спасибо за помощь!

22
задан Jesse 8 June 2011 в 21:41
поделиться