在全局捕获报错信息后保存到data目录:
/**
* 保存错误信息到文件中
*
* @param ex
* @return
*/
private void saveCrashInfoIntoSd(String errPath,Throwable ex) {
String date = DateFormat.format("yyyy-MM-dd_kk:mm:ss", System.currentTimeMillis()).toString();
String path = errPath + "/crash-"+ date + ".log";
try {
Writer writer = new StringWriter();
PrintWriter printWriter = new PrintWriter(writer);
ex.printStackTrace(printWriter);
Throwable cause = ex.getCause();
while (cause != null) {
cause.printStackTrace(printWriter);
cause = cause.getCause();
}
printWriter.close();
final String result = writer.toString();
File file = new File(path);
if(!file.exists()) {
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(file);
fos.write(result.toString().getBytes());
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}