Proguard - 保留所有类和方法名称,但混淆了Fields

时间:2015-08-31 10:29:08

标签: java proguard obfuscation

我试图保留所有类和方法名称,但是混淆了项目中的所有字段。

例如,此代码:

if(!$app->titleoverriden){
    $this->document->setTitle($title);
}

应该变成这段代码

public class MyClass {
    private int    myInt;
    public String  myString;

    void myMethod() {
        // Method code;
    }
}

请注意,类名和方法名称不会被混淆,但字段名称会出现。

我猜这是与public class MyClass { private int a1; public String a2; void myMethod() { // Obfuscated method code; } } keepnames的某种组合,但我不确定什么是正确的。

1 个答案:

答案 0 :(得分:1)

如果您可以为要保留的方法添加访问修饰符,请尝试以下操作,例如,您要保留所有公共方法。

-keep class MyClass
-keepclassmembers class MyClass  {
    public <methods>;  
}