我的问题是如何在 Android 应用程序中捕获未处理的错误并将它们进一步传递,这样它确实会使应用程序崩溃。
我正在为 Android 创建 SDK,我仍然希望开发人员处理他们的错误,但我也想了解我的崩溃。
我知道要捕获错误,我可以使用:
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
}
});
但是如何进一步传递呢?如何使应用程序崩溃?如果我使用:
throw new RuntimeException(ex);
它不会使应用程序崩溃,而是导致ANR错误。
第二个问题是Fabric (Crashlytics)库是如何工作的?请注意,如果 Fabric 也存在于应用程序中,我也不想破坏 Fabric 的工作流程。