我想手动发送崩溃报告。所以在发布apk之前,我想测试它。但是,当应用程序崩溃时,跟踪器会发送数据,但在Play开发者控制台上的崩溃报告网页上没有任何变化。我该怎么测试呢?
// tracker.enableExceptionReporting(true);
tracker.enableAdvertisingIdCollection(true);
tracker.enableAutoActivityTracking(true);
mExceptionParser = new StandardExceptionParser(getApplicationContext(), new ArrayList());
analytics.setDryRun(true);
analytics.setAppOptOut(BuildConfig.DEBUG);
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
tracker.send(new HitBuilders.ExceptionBuilder()
.setDescription(
new StandardExceptionParser(getApplicationContext(), null)
.getDescription(t.getName(), e))
.setFatal(true)
.build());
analytics.dispatchLocalHits();
DisplayMetrics metrics = getApplicationContext()
.getApplicationContext().getResources()
.getDisplayMetrics();
if (metrics.densityDpi == DisplayMetrics.DENSITY_LOW
|| metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(intent);
System.exit(0);
} else {
Intent intent = new Intent(getApplicationContext(),
main.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
getApplicationContext().startActivity(intent);
if (activity != null)
activity.finish();
}
System.exit(0);
android.os.Process.killProcess(android.os.Process.myPid());
//
// Thread.UncaughtExceptionHandler googleException = new ExceptionReporter(
// tracker,
// null,
// getApplicationContext());
// googleException.uncaughtException(t,e);
}
});
答案 0 :(得分:0)
您也可以尝试“crashlytics”。我在我的所有应用程序中都使用它。这是链接 - https://try.crashlytics.com/。希望它会对你有所帮助。