android - 如何在 proguard 中保留 Enum 类型字段?

标签 android enums gson proguard android-proguard

这是我的实体类:

class Entity{
    private String id;
    Object content;
    private Type type;
    public enum Type{type1, type2, type3}
}

根据type字段,我将相应的类传递给

gson.fromJson(json, <type1/2/3 class, depending on field type>);

但是我正在使用混淆器,这会混淆类型值,因此我无法确定要使用哪个类。

我尝试保留类型字段,但它没有保留。这是我的代码:

-keepclassmembers enum * { *; }
-keepclassmembers class com.mypkg.Entity {
    private java.lang.String id;
    private com.mypkg.Entity.Type type;
 }

我看到 id 被保留,但类型字段没有保留。

请帮忙。

最佳答案

This thread可能有帮助。

-keep public enum com.mypkg.Entity$** {
    **[] $VALUES;
    public *;
}

关于android - 如何在 proguard 中保留 Enum 类型字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34998610/

相关文章:

java - 改造: gson stackoverflow

iphone - 设计 Omniauth 和 Iphone/Android 应用程序

android - Edittext在android中可编辑和不可编辑

swift - 如何从数组中的结构检索结果

java - 在android中如何访问从Api返回的Gson对象而不返回空指针异常?

java - 反序列化可以是整数或字符串的值

android - 在适配器中以编程方式刷新 ListView

iphone - 在多种设备(手机,平板电脑,游戏机等)上进行自动质量检查

java - 有什么原因 EnumMap 和 EnumSet 不可导航

Java:获取 ENUM 元素的数组