proguard 混淆枚举的字段值 class

proguard Obfuscate field values of enum class

我想混淆enum的字段名和字段值class(Coffee).

public enum Coffee {
    
    DUTCH("dutch coffee"),
    COLD_BREW("cold brew");

    private String value;

    Coffee(String value) {
        this.value = value;
    }
}

所以我尝试了很多使用Proguard的方法,但我得到的结果是这样的。

public enum a {
    
    a("dutch coffee"),
    b("cold brew");

    private String value;

    a(String value) {
        this.value = value;
    }
}

但这就是我想要的。

public enum a {
    
    a("c"), or a(c)
    b("d"); or b(d)

    private String value;

    a(String value) {
        this.value = value;
    }
}

我不知道应用哪个选项。

[问题]

  1. 是否可以混淆或加密枚举的字段值class? 根据我查到的资料,proguard不提供混淆和加密..
    (Hiding strings in Obfuscated code)

  2. 如果可以使用 progad 混淆或加密字段值,我想得到提示。

您正在寻找可以应用字符串加密的解决方案,这不是您可以使用 ProGuard 或 R8 实现的。

ProGuard(和 R8)只能对您的代码应用基本名称混淆。