【发布时间】:2011-10-06 15:37:01
【问题描述】:
我正在尝试使用 ProGuard 混淆 Spring Web 应用程序。我想保留类和方法的名称,尤其是那些用作 spring bean 的名称。
但是 ProGuard 将局部变量重命名为 local[class name],例如,如果我有一个 User 对象,它会将局部变量重命名为 localUser。它还将方法参数重命名为param[Class name],例如,如果我有一个用户参数,则混淆方法中的变量名称变为paramUser。因此,混淆后的代码变得非常可读。
我想防止 ProGuard 使用本地和参数前缀以及类名。例如,我希望它使用x1 而不是localUser。我检查了配置选项,但找不到如何操作。
【问题讨论】:
-
我大量使用 ProGuard;但是当我检查了混淆的类时,所有混淆的名称都会系统地重命名为 1 或 2 个字母(无论它们的上下文如何)。我没有看到您所描述的那种命名方案的证据,这让我认为他们可能是您指定的某个配置选项导致它。
-
我保留了一些类和方法名。这就是为什么某些类和方法名没有转换为 a、b 等的原因
-
您是否设法完全混淆了您的应用程序,因为我的 webApplication 正面临 Spring 配置的噩梦 ..