我有一堆使用例如@Singleton 注释的类,就像这样
@Singleton
public class ImageCache
我想保留。如何配置 proguard -keep 语句,使其适用于所有具有该注释的类。
顺便说一句,就上下文而言,我需要这个在 Android 上使用 Roboguice 的应用程序,这就是我添加标签的原因。可能会帮助别人。
ProGuard 基于带有通配符的类 java 配置。它确实需要完全限定的类名。这应该有效:
-keep @com.google.inject.Singleton public class *
首先定义一个注解
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 *;
}