Google Analytics追溯Proguard

时间:2013-11-15 17:03:32

标签: android google-analytics proguard

如何使用Google Analytics中的崩溃报告回溯我的Proguard Android应用程序。一些例子如下:

注意:当用户使用Google App Console完成崩溃报告时,我可以使用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 个答案:

答案 0 :(得分:3)

我刚开始收集统计数据,并亲自遇到了这个问题。从我在一个没有混淆的apk上发生的异常,语法似乎是:

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

结论:使用标准报告,大多数时候您无法找出导致异常的原因。似乎有可能设置自定义异常解析器,可能允许您包含完整的堆栈帧。我还没有尝试过,但在this answer中找到了一个有说服力的描述。