【问题标题】:How to read lambdas in android / R8 stack trace de-obfuscated with retrace.jar?如何在使用 retrace.jar 去混淆的 android / R8 堆栈跟踪中读取 lambda?
【发布时间】:2020-07-09 12:33:53
【问题描述】:

具体来说,类似于:

.-$$Lambda$$TBpBoCodhQrLRrW-jmx762QZ0VY.run(Unknown Source:2)

显然被替换了。

也许 R8 有一些选项可以保留相关信息?

【问题讨论】:

    标签: stack-trace deobfuscation android-r8


    【解决方案1】:

    名称以-$$Lambda$ 开头的类是由 R8(和 D8)在对 Java lambda 进行脱糖时生成的。这些是合成类,它们在输入程序中没有对应的项。通常-$$Lambda$ 不会位于堆栈顶部,因为它们将始终调用由javac 生成的lambda$xxx 方法,该方法具有对原始源的引用。

    如果您使用 ProGuard 的 retrace.jar,请确保使用支持映射文件中的内联帧的最新版本。版本 6+ 应该可以工作。

    【讨论】:

      猜你喜欢
      • 2019-11-19
      • 1970-01-01
      • 1970-01-01
      • 2021-07-30
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多