gpt4 book ai didi

android - 如何配置 ProGuard 以保留内部类成员的名称?

转载 作者:行者123 更新时间:2023-11-29 20:46:41 24 4
gpt4 key购买 nike

我想用 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$**

但是这不起作用。内部类成员仍然被混淆。测试各种选项并尝试猜测正确的选项或语法需要花费大量时间,因为每次更改都需要导出包以查看其是否有效。

最佳答案

我很确定像这样的东西应该可以解决问题:

-keepclassmembernames class com.myapppackage.MyOuterClass$** { *; }

所以请仔细检查。测试表明 { *; } 部分是必要的。虽然我无法解释为什么。请有识之士详细说说。

关于android - 如何配置 ProGuard 以保留内部类成员的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30217153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com