PROGUARD:使用keepInnerClass标志会丢失有关其是否静态的信息

时间:2013-08-14 08:02:25

标签: java static proguard inner-classes

-keepInnerClass标志确实保留了内部类。 但是,无论内部类是否是静态的,如何丢失信息。 这是因为我的原始代码显示警告内部类应该是静态的,但是在混淆之后它不会这样做。我是否必须添加更多标志。

1 个答案:

答案 0 :(得分:1)

您应该尝试更新到最新版本的ProGuard。在撰写本文时,我们的版本是4.10。

正确的选项实际上是-keepattributes InnerClasses

您可以通过检查-dump选项(带有可选文件名)的输出来检查是否为内部类设置了静态标志,例如

.....
Class file attributes (count = 1):
  - Inner classes attribute (count = 1)
    - InnerClassesInfo:
      Access flags:  0xa = private static 
      - Class [test0023/Test$a]
      - Class [test0023/Test]
      - Utf8 [a]
.....