3

我想为我的 Android 应用创建一个日志文件。我需要它来调试应用程序的随机崩溃。

我想创建一个函数,如果有未处理的异常,它总是会被调用。在日志中我想要异常消息。是否有任何事件类型机制会在 Android 中的未处理异常上被调用?

4

3 回答 3

2

尝试使用 android Android Acra

真的好东西请试试这个。

于 2012-12-28T07:31:11.070 回答
2

你可以编写自己的日志猫,

当您的应用程序安装在真正的 android 设备上并且未连接到 Eclipse 以获取调试详细信息时..

请查看教程:在 Android 中以编程方式读取和存储 Log-cat

您也可以查看这个堆栈溢出页面,我已经发布了解决方案代码片段和相关的有用信息。

于 2012-12-28T07:40:33.793 回答
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"));
于 2013-08-08T09:36:00.863 回答