0

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

4

1 回答 1

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]
.....
于 2013-08-15T22:09:19.303 回答