mapping.txt中的数字部分是什么

时间:2018-05-01 09:51:50

标签: android android-proguard

生成的mapping.txt如下所示

com.abc.media.MediaAudioEncoder$AudioThread -> nq:
com.abc.media.MediaAudioEncoder this$0 -> a
100:100:void <init>(com.abc.media.MediaAudioEncoder) -> <init>
105:158:void run() -> run
100:100:void <init>

“100:100”“105:158”是什么意思?

1 个答案:

答案 0 :(得分:0)

这些是行号,表示定义方法的范围。

所以对于每个类,都有这样的结构: 第一行没有缩进,显示了类名的翻译。

select s.*,
       (case when s.d1 <> 0 then s.d1
             when s.d2 <> 0 then s.d2
             . . .
             when s.d31 <> 0 then s.d31
        end) as first_flag
from serv s;

接下来,带缩进的行显示该类的字段和方法的翻译。

com.example.myapp.MainActivity -> com.example.myapp.a:

请注意,并非每个类/方法/字段都会进行模糊处理。在混淆过程之后,依赖于反射的代码(按名称调用方法,作为字符串)将不起作用。这就是为什么有时你会希望通过编辑proguard-rules文件从该过程中排除某些代码部分。

相关问题