我有很多类使用例如@Singleton注释就像这样
@Singleton
public class ImageCache
我想保留。如何配置proguard -keep语句,使其适用于具有该注释的所有类。
就上下文而言,我需要在Android上使用Roboguice的应用程序,这就是我添加标签的原因。可能会帮助别人。
答案 0 :(得分:37)
ProGuard基于类似Java的配置,带有通配符。它确实需要完全限定的类名。这应该有效:
-keep @com.google.inject.Singleton public class *
答案 1 :(得分:5)
首先定义注释
public @interface DoNotStrip {}
然后把它放在proguard.cfg:
中-keep,allowobfuscation @interface com.something.DoNotStrip
# Do not strip any method/class that is annotated with @DoNotStrip
-keep @com.something.DoNotStrip class *
-keepclassmembers class * {
@com.something.DoNotStrip *;
}