Google Analytics 追踪 Proguard

8
如何使用Google Analytics中的崩溃报告将Proguard Android应用程序进行回溯。以下是一些示例:
注意:当用户通过Google应用程序控制台执行崩溃报告时,我可以使用mapping.txt文件进行回溯。
示例(来自Google Analytics行为崩溃和异常):
- RuntimeException (@a:a:-1) {main} - IllegalStateException (@f:a:-1) {main} - NullPointerException (@MainActivity:M:-1) {main} - NullPointerException (@a:l:-1) {main} - NullPointerException (@al:run:-1) {main}
1个回答

3

我刚开始收集统计数据,自己也遇到了这个问题。从一个未混淆的apk上发生的异常来看,语法似乎是:

exception-name (@class-name:method-name:line-number) {thread-name}
  • 类名:如果这个被混淆了,那么通常就会卡住,因为包名不会报告。有时你可能能够找到类,比如在您的“al”示例中,因为大多数包不会有那么多类(搜索“ -> al”)。
  • 方法名:如果类名没有被混淆(某些类名必须从混淆中排除才能使应用程序正常工作),则可以尝试在mappings.txt中查找该方法。通常会有多个具有相同映射的方法(但调用签名不同)。由于您无法区分它们,因此您将不得不检查它们所有以查看它们是否可能导致异常。
  • 行号:由于它已经被混淆了,所以对此没有用处(-1)。

结论:使用标准报告,大多数时候您都无法找出是什么导致了异常。似乎有可能设置自定义异常解析器,可能允许您包括完整的堆栈帧。我还没有尝试过,但在这个答案中找到了一个有希望的描述。


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