android中StringDef注解的pro-guard规则是什么?

What is the pro-guard rule for StringDef annotation in android?

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 的工具文件夹中使用默认的 pro-guard 规则时,出现 ScreenDensity 的错误。防止这个 StringDef ScreenDensity 被混淆的 pro-guard 规则是什么?

StringDef 是源保留策略注释。因此它会在编译代码中自动剥离。

源注释用于强制程序员使用特定的常量而不是 "magic" 数字或字符串,这对不熟悉代码的人来说没有任何意义。

尝试添加此混淆器规则:

-keepclassmembers class ** {
  @your.package.AssetsHelper.ScreenDensity public *;
}