Proguard 回溯工具的输出

Posted

技术标签:

【中文标题】Proguard 回溯工具的输出【英文标题】:Proguard retrace tool's output 【发布时间】:2011-06-04 21:27:23 【问题描述】:

我现在正在尝试使用 proguard,因为它更易于使用 日食之内。我已经导出了我的应用程序的签名版本,其中包含 导致测试崩溃的故意错误。在我得到堆栈之后 跟踪并运行 retrace -verbose mapping.txt stack.txt,而不是 给我错误发生的位置,它给了我错误所在的类 发生并列出一个方法,其中一个是 发生异常。

我已经使用了所有这些的官方指南,并将 logcat 堆栈跟踪捕获编辑为与开发控制台相同的格式。有谁知道可能是什么问题?

【问题讨论】:

【参考方案1】:

如果您的混淆代码不包含行号信息,由于名称重载,将混淆方法名称(如“a”)映射到原始方法名称不再是明确的可能。 examples in the ReTrace manual 说明了差异。

为避免这种影响,您可以在混淆步骤中保留行号信息,如example in the ProGuard manual 所示。

【讨论】:

今天似乎无法访问回溯手册。我启用了LineNumberTable 等,我可以在我的映射文件中看到行号,但是retrace 仍然无法消除方法之间的歧义。 可能需要修复链接 - 页面不再存在。

以上是关于Proguard 回溯工具的输出的主要内容,如果未能解决你的问题,请参考以下文章

Proguard Retrace 不适用于 E/AndroidRuntime(10237) 等堆栈跟踪运行时信息:

如何防止 ProGuard 在输出 jar 中包含引用的库

同时使用 ProGuard 和 R8

在 Eclipse 中使用 Proguard for Android 出错

如何用 proguard 混淆我的代码?

如何在 xamarin 表单中使用 proguard 优化器工具