【发布时间】:2015-05-13 14:00:17
【问题描述】:
我想用 ProGuard 混淆我的应用程序,我还希望一些内部类的成员保留他们的名字。这是因为我在 Jackson 中使用这些类来转换 JSON。 我的来源:
// this class mainly serves as a container for a group of related inner classes
public class MyOuterClass
{
public class IDontWantToKeepThisClassName1
{
public String IWantToKeepThisName1;
public float IWantToKeepThisName2;
}
public class IDontWantToKeepThisName2
{
public IDontWantToKeepThisClassName1 IWantToKeepThisName3;
public float IWantToKeepThisName4;
}
}
我希望上面的代码是不言自明的。我试图在 proguard-project.txt 中使用这个命令来实现这一点
-keepclassmembernames class com.myapppackage.MyOuterClass$**
但这不起作用。内部类成员仍然被混淆。 测试各种选项以尝试猜测正确的选项或语法需要花费大量时间,因为每次更改都需要包导出以查看它是否有效。
【问题讨论】: