I have two types of annotation in my project: Annotation1
and Annotation2
. Both are runtime annotations. So, my question is how to keep only Annotation1
and strip Annotation2
?
Example:
class Test {
@Annotation1
@Annotation2
String name;
}
I want Annotation2
to be removed from all fields and Annotation1
to be kept everywhere.
I can't find whether this is possible. I only know how to keep all annotations using:
-keepattributes *Annotation*
Is this possible? If not, why?
ProGuard automatically removes annotations from the classes/fields/methods if the corresponding annotation classes are not used (retrieved, cast, invoked,...) elsewhere. You can't force ProGuard to remove annotations, but you can tell it to keep seemingly unused annotations:
-keep @interface com.example.MyAnnotation
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With