Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 崩溃堆栈跟踪丢失_Android_Google Analytics_Stack Trace - Fatal编程技术网

Android 崩溃堆栈跟踪丢失

Android 崩溃堆栈跟踪丢失,android,google-analytics,stack-trace,Android,Google Analytics,Stack Trace,我正在我的应用程序中使用谷歌分析(最新版本)。因为我把它包括在项目中,所以我不能在终端中看到未捕获的异常,但一天后我可以在分析控制台中看到。在其他项目中,默认情况下我可以正常看到堆栈跟踪。 我在设置中对处理程序使用以下代码: Thread.UncaughtExceptionHandler myHandler = new ExceptionReporter( tracker, Thread.getDefaultUncaughtExceptio

我正在我的应用程序中使用谷歌分析(最新版本)。因为我把它包括在项目中,所以我不能在终端中看到未捕获的异常,但一天后我可以在分析控制台中看到。在其他项目中,默认情况下我可以正常看到堆栈跟踪。 我在设置中对处理程序使用以下代码:

    Thread.UncaughtExceptionHandler myHandler = new ExceptionReporter(
            tracker,
            Thread.getDefaultUncaughtExceptionHandler(),
            this);
    ExceptionReporter exceptionReporter = (ExceptionReporter) myHandler;
    exceptionReporter.setExceptionParser(new AnalyticsExceptionParser());
public class AnalyticsExceptionParser implements ExceptionParser {

    public String getDescription(String p_thread, Throwable p_throwable) {
        return "Thread: " + p_thread + ", Exception: " + ExceptionUtils.getStackTrace(p_throwable);
    }
}
和AnalyticSeceptionParser在设置中建议使用:

    Thread.UncaughtExceptionHandler myHandler = new ExceptionReporter(
            tracker,
            Thread.getDefaultUncaughtExceptionHandler(),
            this);
    ExceptionReporter exceptionReporter = (ExceptionReporter) myHandler;
    exceptionReporter.setExceptionParser(new AnalyticsExceptionParser());
public class AnalyticsExceptionParser implements ExceptionParser {

    public String getDescription(String p_thread, Throwable p_throwable) {
        return "Thread: " + p_thread + ", Exception: " + ExceptionUtils.getStackTrace(p_throwable);
    }
}

有人知道会有什么问题吗?

我设法解决了这个问题。在创建了这个新的处理程序之后,我得到了这两行代码

ExceptionReporter exceptionReporter = (ExceptionReporter) myHandler;
exceptionReporter.setExceptionParser(new AnalyticsExceptionParser());

不知何故,这两行使默认处理程序无效,如果没有这两行,默认处理程序可以正常工作。我不确定这将如何影响向GA报告异常情况。

我无法重现这一点-您可能会在日志视图上设置一个过滤器吗?不,正如我所说,在没有分析的应用程序上,它工作正常。已处理的异常情况显示在日志中。(使用e.printstacktrace)实例中的“Thread.getDefaultUncaughtExceptionHandler()”调用似乎没有检索默认处理程序。这是一个相当复杂的问题。我能通过实现我的自定义处理程序来解决它吗?这真的很奇怪。