生成的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”是什么意思?
答案 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文件从该过程中排除某些代码部分。