我的项目中有两种注解:Annotation1
和Annotation2
。两者都是运行时注解。所以,我的问题是如何只保留 Annotation1
并删除 Annotation2
?
例子:
class Test {
@Annotation1
@Annotation2
String name;
}
我希望从所有字段中删除 Annotation2
并在所有位置保留 Annotation1
。
我不知道这是否可行。我只知道如何使用以下方法保留所有注释:
-keepattributes *Annotation*
这可能吗?如果不是,为什么?
最佳答案
如果在别处未使用(检索、转换、调用...)相应的注解类,ProGuard 会自动从类/字段/方法中删除注解。您不能强制 ProGuard 删除注释,但可以告诉它保留看似未使用的注释:
-keep @interface com.example.MyAnnotation
关于java - 使用proguard保留特定的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47515093/