Java 接口注释和ProGuard

Java 接口注释和ProGuard,java,android,proguard,Java,Android,Proguard,运行ProGuard后,我的自定义批注出现问题 以下是相关代码: 注释 A类延伸至B类 抽象B类 谢谢。下面的代码对我来说总是有用的 -keepattributes Annotation以下声明似乎解决了问题: -keep @com.mycompany.myapp.MyAnnotation interface * { *; } ... @MyAnnotation public interface CustomInterface { } ... // mClass never found s

运行ProGuard后,我的自定义批注出现问题

以下是相关代码:

注释

A类延伸至B类

抽象B类


谢谢。

下面的代码对我来说总是有用的


-keepattributes Annotation

以下声明似乎解决了问题:

-keep @com.mycompany.myapp.MyAnnotation interface * {
*;
} 
...
@MyAnnotation
public interface CustomInterface {
}
...
// 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;
        }
    }
}
-keepattributes *Annotation*
-keep @com.mycompany.myapp.MyAnnotation interface * {
*;
}