如何解释" $ n" ProGuard的mapping.txt?

时间:2014-05-30 15:10:16

标签: android proguard

Android项目的ProGuard的mapping.txt充满了以下几行:

...
net.domain.myapp.MyActivity$13 -> net.domain.myapp.dj:
...
net.domain.myapp.MyActivity$13$1 -> net.domain.myapp.dk:
...
net.domain.myapp.MyActivity$14 -> net.domain.myapp.dl:
...

我认为MyActivity $ n对应于MyActivity的方法,但我不知道如何将其映射到特定方法。我想知道是否有人可以就此提出建议?

1 个答案:

答案 0 :(得分:1)

com.example.Outer$Inner是外部类Inner中内部类com.example.Outer的Java字节码中的内部命名约定。例如,您将在堆栈跟踪中看到它,并且您将在编译的类之间找到类文件com/example/Outer$Inner.class

com.example.Outer$1是一个匿名的内部类。 Java编译器为它们分配序号。

在字节码级别,内部类别与其他类别根本不同。 ProGuard可以对它们进行大致相同的处理。