аннотации, не влияющие на proguard

У меня возникли проблемы с тем, чтобы держать вещи на основе их аннотаций (под Android).

У меня есть аннотация, com.example.Keep:

@Target({ ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.CONSTRUCTOR })
public @interface Keep {
}

У меня есть класс, который только когда-либо строится с помощью отражения:

public class Bar extends Foo {
    @com.example.Keep
    Bar(String a, String b) { super(a, b); }

    //...
}

Он работает, как и ожидалось (класс сохраняет свой конструктор, хотя и с запутанным именем класса) Когда моя конфигурация proguard включает в себя следующее:

-keepattributes Signature,*Annotation*,SourceFile,LineNumberTable
-keepclassmembers class ** extends com.example.Bar {
(...);
}

Он удаляет конструктор, если я пытаюсь изменить это на:

-keepattributes Signature,*Annotation*,SourceFile,LineNumberTable
-keepclassmembers class ** extends com.example.Bar {
@com.example.Keep (...);
}

Я вижу одинаковое поведение как с моими собственными аннотациями, так и с proguard.s annotation.jar аннотации. Я'скопировал и вставил название аннотации из Foo 'с импортаKeep, так уверен оно вышлоне опечатка или неправильный импорт.

Кто-нибудь может подумать о том, чего мне не хватает?

Ответы на вопрос(1)

Ваш ответ на вопрос