我有一个基于 webview 的 android 应用程序,我想获取崩溃报告并将其存储到文本文件中,但我无法在任何地方找到任何编程本机解决方案。我已阅读this文章,但无法使用它。我没有代码,因为我不知道从哪里开始
处理崩溃日志的最佳方法是创建 UncaughtExceptionHandler 并根据您的要求进行处理。创建一个 BaseActivity 类并用它扩展所有活动,并将这些代码放入 BaseActivity 类中。
private Thread.UncaughtExceptionHandler handleAppCrash =
new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Log.e("error", ex.toString());
//send email here
}
};
然后只需使用 BaseActivity 的 onCreate() 方法即可启用
Thread.setDefaultUncaughtExceptionHandler(handleAppCrash);
我通过在活动的 onCreate() 中使用它来捕获未处理的异常:
mUEHandler = new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
try {
PrintWriter pw = new PrintWriter(new OutputStreamWriter(
openFileOutput(DMP_FILENAME, 0)));
e.printStackTrace(pw);
pw.flush();
pw.close();
} catch (FileNotFoundException e1) {
// do nothing
}
BaseActivity.this.finish();
}
};
Thread.setDefaultUncaughtExceptionHandler(mUEHandler);
这会将您的应用程序中发生的 Activity 中的每个未处理的异常写入文本文件。然后就可以分析了。
为什么不记录像 Log.e("tag","msg") 这样的所有内容,或者检查 logcat 是否有崩溃情况