谷歌分析崩溃报告只显示第一行的堆栈跟踪

Ana*_*zer 6 android google-analytics crash-reports

我的应用程序使用Google Analytics跟踪异常和崩溃(以及其他问题).我用这个函数来获取stacktrace:

public static void sendErrorReportViaGoogleAnalytics(Exception e) {

    e.printStackTrace();
    Tracker myTracker = EasyTracker.getTracker();
    myTracker.sendException(getDescription(e), false);
}

public static String getDescription(Exception t) {

    final StringBuilder result = new StringBuilder();
    result.append(t.toString());
    result.append(',');
    String oneElement;

    for (StackTraceElement element : t.getStackTrace()) {
        oneElement = element.toString();
        result.append(oneElement);
        result.append(",");
    }

    return result.toString();
}
Run Code Online (Sandbox Code Playgroud)

这很好用,在谈论异常时,我只是在我的异常处理代码的catch部分调用sendErrorReportViaGoogleAnalytics(),但是当遇到崩溃时,我只得到一行stacktrace,就像

Binary XML file line #11: Error inflating class fragment
Run Code Online (Sandbox Code Playgroud)

我设置

<bool name="ga_reportUncaughtExceptions">true</bool>
Run Code Online (Sandbox Code Playgroud)

在analytics.xml中,因为我正在使用EasyTracker.

如果发生崩溃,我该怎么做才能获得完整的堆栈跟踪?

Raa*_*nan 3

由于您没有描述为了捕获崩溃而实际做了什么,所以我只能将您发送到文档: https ://developers.google.com/analytics/devguides/collection/android/v2/exceptions

如果您使用 EasyTracker,您可以声明:

<bool name="ga_reportUncaughtExceptions">true</bool>
Run Code Online (Sandbox Code Playgroud)

否则,您可以按照描述实现 ExceptionReporter 类并将其附加到您的线程。

  • 非常感谢您的回答。我使用 &lt;bool name="ga_reportUncaughtExceptions"&gt;true&lt;/bool&gt; 来跟踪异常,但这只是记录堆栈跟踪的第一行。 (4认同)
  • 我不明白...为什么这是正确答案?它什么也回答不了。我仍然只得到异常的第一行。 (2认同)