2010-10-12 116 views

回答

109

将下列行添加到您的proguard配置中。

-renamesourcefileattribute SourceFile  
-keepattributes SourceFile,LineNumberTable 

现在您的堆栈跟踪将包括行号,并通过使用回扫工具附带使用ProGuard(包含在Android SDK),您可以像调试正常。

请注意,即使您没有使用这两个配置选项,回溯仍然可以输出有用的信息,只要您有映射文件,尽管不是完全明确。

注:与映射文件被ProGuard的配置选项生成:

-printmapping outputfile.txt 

在随Android SDK的Ant文件,它被设置为的mapping.txt。

祝你好运。

15

要使用Android Market帐户中的任何堆栈跟踪,可以使用ProGuard配置中-printmapping选项生成的地图文件与ReTrace(ProGuard配套工具)解码堆栈跟踪。您也可以使用地图文件的内容手工解码,但这很枯燥。

在ProGuard手册的示例中,有一节介绍如何生成有用的混淆堆栈轨迹,包括如何保留行号。

不幸的是,如果您没有设置ProGuard来保留行号,那么您将只能识别抛出异常的方法。

+4

这个过程也在http://developer.android.com/guide/developing/tools/proguard.html所解释的ProGuard生成的输出文件#decoding – 2011-03-17 10:21:33

+0

进入ADT 17(目前是预览版)是对PorGuard为Androi配置的进一步改变d。 http://tools.android.com/recent/proguardimprovements它不会更改如何使用打印映射进行调试,但它会改变最初配置ProGuard的方式。 – cistearns 2012-03-04 19:56:24

+0

@cistearns我试过一样,但出来的是相同的编码值:(任何帮助? – 2014-01-10 04:56:37

4

在stack_trace.txt

运行以下命令粘贴您的堆栈跟踪:Java的罐子retrace.jar classes-processed.map stack_trace.txt

retrace.jar是在SDK \工具\ proguard的\ LIB \ retrace.jar classes-processed.map是,当你做了模糊处理

相关问题