我试图保持所有类和方法的名称,但混淆了我的项目中的所有字段。
例如,以下代码:
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
和keepclassmembernames
的某种组合,但我不确定什么是正确的。
如果你可以为你想保留的方法添加访问修饰符,请尝试如下,例如你想保留所有公共方法。
-keep class MyClass
-keepclassmembers class MyClass {
public <methods>;
}