Proguard混淆工具的反混淆输出

8
我现在正在尝试使用Proguard,因为它可以更容易地从Eclipse中使用。我已经导出了一个带有故意错误的已签名应用程序版本以进行测试。当我获取堆栈跟踪并运行“retrace -verbose mapping.txt stack.txt”时,它不会告诉我发生错误的位置,而是会给出发生错误的类和方法列表,其中一个方法就是发生异常的方法。
我已经按照官方指南进行了所有操作,并将logcat堆栈跟踪捕获编辑为与dev控制台相同的格式。有人知道问题可能是什么吗?
1个回答

15

如果您的混淆代码不包含行号信息,那么由于名称重载,将混淆方法名(如“a”)映射回原始方法名不再具有明确的可能性。 ReTrace手册中的示例说明了差异。

为避免这种情况,可以在混淆步骤中保留行号信息,如ProGuard手册中的示例所示。


追溯手册今天似乎无法访问。我已经启用了LineNumberTable等选项,并且在我的映射文件中可以看到行号,但是追溯仍然无法消除方法之间的歧义。 - HRJ
可能需要修复链接 - 该页面已不存在。 - Martin Konecny

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接