Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.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 使用Easytracker的google分析中的未捕获异常_Android_Google Analytics_Easytracker - Fatal编程技术网

Android 使用Easytracker的google分析中的未捕获异常

Android 使用Easytracker的google分析中的未捕获异常,android,google-analytics,easytracker,Android,Google Analytics,Easytracker,我在每项活动中都会用到这个: @Override public void onStart() { super.onStart(); EasyTracker.getInstance().activityStart(this); } @Override public void onStop() { super.onStop(); EasyTracker.getInstance().activityStop(this); } 经历了这一切 我发现: @Overrid

我在每项活动中都会用到这个:

@Override
public void onStart() {
    super.onStart();
    EasyTracker.getInstance().activityStart(this);
}

@Override
public void onStop() {
    super.onStop();
    EasyTracker.getInstance().activityStop(this);
}
经历了这一切

我发现:

@Override
public void onStart() {
    super.onStart();
    EasyTracker.getInstance().activityStart(this);
}

@Override
public void onStop() {
    super.onStop();
    EasyTracker.getInstance().activityStop(this);
}
使用EasyTracker
要使用EasyTracker自动跟踪应用程序中所有未捕获的异常,请将此行添加到analytics.xml文件中:

<bool name="ga_reportUncaughtExceptions">true</bool>
不是上面提到的堆栈跟踪。有什么需要补充的吗


谢谢

我使用了一个开源工具,名为未捕获异常报告。 它提供的信息比Google Analytics或Flurry多得多,并将报告提交给Google文档,您可以从中获得添加的每个报告的电子邮件通知


其余部分我使用Google Analytics。

您应该使用自定义异常解析器来获取整个stacktrace

import org.apache.commons.lang3.exception.ExceptionUtils;
import com.google.analytics.tracking.android.ExceptionParser;

public class AnalyticsExceptionParser implements ExceptionParser {

public String getDescription(String p_thread, Throwable p_throwable) {
    return "Thread: " + p_thread + ", Exception: " +     ExceptionUtils.getStackTrace(p_throwable);
}
}
并在活动中将其设置为默认值,如

public void setupGoogleAnalyticsCrashReportParser() {

    EasyTracker.getInstance().setContext(this);

    Thread.UncaughtExceptionHandler uncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
    if (uncaughtExceptionHandler instanceof ExceptionReporter) {
        ExceptionReporter exceptionReporter = (ExceptionReporter) uncaughtExceptionHandler;
        exceptionReporter.setExceptionParser(new AnalyticsExceptionParser());
    }
}

希望这对某些人有所帮助。

这是我迄今为止找到的最好的解决方案:向上投票,我面临着同样的问题。我不明白为什么Easytracker只显示堆栈跟踪的最后一行…这里的情况完全相同。你找到解决方案了吗?@mattblang我正在使用我使用的一个名为AppBugTracker的解决方案或多或少类似于Acra,但没有创建站点以收集信息的开销,并且有一些助手类,不仅可以捕获未捕获的异常,还可以捕获与你更相关的异常。还有图形报告和电子邮件报告。你是否在ACRA中使用类似Bugsense的东西?我也使用ACRA,但在电子表格中看到错误并不好。对于每个版本,我都备份了proguard转储文件,并编写了一个小脚本,以根据正确的转储追溯堆栈跟踪。我后来迁移到Crashlytics。它具有类似ACRA的捕获能力,并自动执行回溯。