public class AssetsHelper {
@StringDef({ScreenDensity.XHDPI,ScreenDensity.HDPI, ScreenDensity.XXHDPI})
@Retention(RetentionPolicy.SOURCE)
public @interface ScreenDensity {
String HDPI = "HDPI";
String XHDPI = "XHDPI";
String XXHDPI = "XXHDPI";
}
}
当我在Android SDK的工具文件夹中使用默认的专业保护规则时,我收到ScreenDensity
的错误。什么是保护StringDef
ScreenDensity
不被混淆的亲保护规则?
答案 0 :(得分:2)
尝试添加此proguard规则:
-keepclassmembers class ** {
@your.package.AssetsHelper.ScreenDensity public *;
}
答案 1 :(得分:-1)
StringDef
是源保留政策注释。因此,它将在编译代码中自动删除。
源注释用于强制执行规则,以使用特定的内容代替" magic"数字或字符串,对于不熟悉代码的人来说没有任何意义。