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 *;
}
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 *;
}