捕获崩溃日志

时间:2016-07-02 10:53:43

标签: android crashlytics

我正在编写一个自定义的UncaughtExceptionHandler来优雅地结束应用程序。为了收集崩溃日志,我正在使用Crashlytics。目标是

  1. 在自定义Uncaughtexception处理程序中收集崩溃日志。

  2. 将崩溃日志发送到Crashlytics服务器。

  3. 重启应用而不显示"强制关闭"对话框。

  4. 为了实现这一点,我编写了以下代码,它似乎捕获了UncaughtExceptions但它没有将关闭发送到Crashlytics服务器。

    公共类MyApplication扩展了Application {

    Thread.UncaughtExceptionHandler mUEHandler;
    Thread.UncaughtExceptionHandler mDefaultUEHandler;
    
    @Override
    public void onCreate() {
        super.onCreate();
    
        Fabric.with(this, new Crashlytics());
    
        mDefaultUEHandler = Thread.getDefaultUncaughtExceptionHandler();
        mUEHandler = new Thread.UncaughtExceptionHandler() {
            @Override
            public void uncaughtException(Thread t, Throwable e) {
                reEmergeFromCrash();
                Crashlytics.logException(e);
            }
        };
    
        Thread.setDefaultUncaughtExceptionHandler(mUEHandler);
    
        throw new RuntimeException("hello");
    }
    } 
    

    出错了什么?如何将捕获的崩溃日志发送到Crashlytics。

1 个答案:

答案 0 :(得分:0)

想出来。 Crashlytics.logException()会记录您捕获的异常,但为了减轻应用程序资源的压力,Fabric设计了Crashlytics,以便在您下次打开应用程序时将记录的异常发送到服务器。 / p>