我想为我的Android应用创建一个日志文件。我需要这个来调试应用程序的随机崩溃。
我想创建一个函数,如果存在未经处理的异常,则始终会调用该函数。在日志中我想要异常消息。是否有任何事件类型机制将在ANdroid中的unhandelled异常中调用?
答案 0 :(得分:2)
尝试使用android Android Acra
真的很好请试试这个。
答案 1 :(得分:2)
您可以编写自己的日志猫,
当您的应用程序安装在真实的Android设备上而未连接到Eclipse以获取调试详细信息时。
请查看教程:Read & Store Log-cat Programmatically in Android
您也可以查看this堆栈溢出页面,我已发布解决方案代码片段和相关的有用信息。
答案 2 :(得分:2)
您可以使用UncaughtExceptionHandler
,如下所示:
public class UncaughtExceptionHandler implements java.lang.Thread.UncaughtExceptionHandler {
String Tag;
Context myContext;
public UncaughtExceptionHandler(Context context, String TAG) {
Tag = TAG;
myContext = context;
}
public void uncaughtException(Thread thread, Throwable exception) {
StringWriter sw = new StringWriter();
exception.printStackTrace(new PrintWriter(sw));
Logger.appendErrorLog(sw.toString(), Tag);
Intent intent = new Intent(myContext, ForceClose.class);
intent.putExtra(BugReportActivity.STACKTRACE, sw.toString());
myContext.startActivity(intent);
Process.killProcess(Process.myPid());
System.exit(10);
}
}
在第一个活动的onCreate()
方法中调用此类:
Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler(getApplicationContext(),"FirstActivity"));