如何在使用Proguard时在Android Monitor中获取真正的类名

时间:2018-01-13 16:34:11

标签: android proguard

我为我的应用程序启用了Proguard,现在当我收到异常时,在Android监视器中我看到了类似

的内容
at com.mydomain.myapp.v.c(SourceFile:901)
at com.mydomain.myapp.v.a(SourceFile:1260)

在我的另一个应用程序中,我也有proguard可用,但我看到类似

的内容
at com.mydomain.myotherapp.v.c(MainMenuScreen.java:948)

我可以点击课程名称,Android Studio会将我带到确切的行。我已经尝试将proguard文件的全部内容复制到第一个应用程序,没有任何变化。

我的项目中的设置是什么让Android Monitor拥有不错的可点击链接?在我的计划规则中,我有:

-keepattributes Exceptions, InnerClasses, 
                Signature, Deprecated, SourceFile, EnclosingMethod, LineNumberTable

1 个答案:

答案 0 :(得分:0)

为什么你运行proguard并混淆代码是有原因的,原因是无法做到这一点!否则,它将完全忽略混淆点。

你可以做的是获取你的outputs文件夹中的mapping.txt,并在你的sdk文件夹中某处的proguardgui.bat的帮助下,你可以得到一个正常的堆栈跟踪