Java 什么是Proguard';s模糊的局部变量命名约定?

Java 什么是Proguard';s模糊的局部变量命名约定?,java,proguard,local-variables,Java,Proguard,Local Variables,Proguard会混淆局部变量,除非另有说明。从手册中: ProGuard的模糊处理步骤会完全删除原始名称,除非明确保留LocalVariableTable或LocalVariableTypeTable属性 我拥有应用程序的源代码和模糊映射,但是我看不到与局部变量名称映射相关的信息。我想插入一个调试代理,为应用程序发行版中的某些方法打印一些变量名(我使用javassist制作了该代理),但是如果不知道变量名,这不是一项容易的任务 这不是源代码变量名,我的IDE的java反编译程序说变量名是“va

Proguard会混淆局部变量,除非另有说明。从手册中:

ProGuard的模糊处理步骤会完全删除原始名称,除非明确保留LocalVariableTable或LocalVariableTypeTable属性

我拥有应用程序的源代码和模糊映射,但是我看不到与局部变量名称映射相关的信息。我想插入一个调试代理,为应用程序发行版中的某些方法打印一些变量名(我使用javassist制作了该代理),但是如果不知道变量名,这不是一项容易的任务


这不是源代码变量名,我的IDE的java反编译程序说变量名是“var0”、“var1”,它们也不正确(我怀疑它们只是占位符)。

它的意思是这样的。类文件不包含局部变量名,那么它怎么可能给您一个映射呢?(您看到的名称是由您的反编译器编造的)我想接下来的问题是,javaassist注入的源代码会是什么样子,可以打印出这些变量的值?没关系,后续问题的答案是“rtfm”…-变量名$1、$2等可用于打印方法参数。