У меня возникла проблема с моей пользовательской аннотацией после запуска ProGuard.Аннотации интерфейса и ProGuard
Вот соответствующий код:
Аннотация
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface MyAnnotation {
}
класс А простирается Аргументы B
...
@MyAnnotation
public interface CustomInterface {
}
...
абстрактного класса B
// mClass never found since MyAnnotation seems to be disappeared
// after obfuscation
for (Class<?> c : getClass().getClasses()) {
for (Annotation annotation : c.getAnnotations()) {
if (annotation instanceof MyAnnotation) {
mClass = c;
break;
}
}
}
Я пробовал много утверждений, которые содержатся в соответствующих сообщениях, но ни один из них не содержит этот случай.
Запуск кода без ProGuard правильно находит класс для члена mClass.
ProGuard конфигурации имеет:
-keepattributes *Annotation*
Спасибо.
Спасибо, но у меня уже есть это определение. – Niko