java - 使用proguard保留特定的注释

标签 java android annotations proguard

我的项目中有两种注解:Annotation1Annotation2。两者都是运行时注解。所以,我的问题是如何只保留 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/

相关文章:

java - 将 java 对象和方法调用转换为 Clojure 代码

java - 在单个 JOptionPane 中显示多个 System.out.print?

java - 并发访问unmodifiableMap

java - 无法从方法中获取@override 注释

java ConcurrentModificationException 即使有同步

android - 如何手动刷新谷歌地图?

Android:如何通过点击一个按钮从右到左和左右移动跑马灯文字

android - Room 中的 Sum 和 Count - 别名没有这样的列

java - Spring MVC 中的注解

java - 注解处理后,JVM 永远不会终止;每次构建之前必须清洁