Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 未发送Firebase崩溃日志_Android_Firebase Crash Reporting - Fatal编程技术网

Android 未发送Firebase崩溃日志

Android 未发送Firebase崩溃日志,android,firebase-crash-reporting,Android,Firebase Crash Reporting,我已经在我的应用程序中集成了Firebase崩溃,并创建了一个自定义的未捕获异常处理程序,在发送崩溃之前,我在其中记录有用的应用程序状态。但是,在Firebase控制台中,日志未按预期包含在异常旁边。为什么会这样?如何确保日志始终被发送 下面是处理程序的uncaughtException方法的精简版本 public void uncaughtException(Thread thread, final Throwable ex) { FirebaseCrash.logcat(Log.IN

我已经在我的应用程序中集成了Firebase崩溃,并创建了一个自定义的未捕获异常处理程序,在发送崩溃之前,我在其中记录有用的应用程序状态。但是,在Firebase控制台中,日志未按预期包含在异常旁边。为什么会这样?如何确保日志始终被发送

下面是处理程序的uncaughtException方法的精简版本

public void uncaughtException(Thread thread, final Throwable ex) {
    FirebaseCrash.logcat(Log.INFO, TAG, "App state");
    FirebaseCrash.report(ex);
    prior_handler.uncaughtException(thread, ex);
}

最终对我起作用的是(正如Doug Stevenson在他对我上述问题的评论中所建议的那样)为每个Android应用程序创建一个Firebase项目


很高兴,通过这种配置,我仍然可以使用前面提到的
applicationIdSuffix
技巧将生产崩溃报告/日志与调试崩溃报告/日志分开。

如果安装了Firebase崩溃,则无需调用report()发送任何内容。这将发生在Firebase为自己添加的UncaughtExceptionHandler中。您只需在任何崩溃或调用report()之前记录消息,它们就应该附加到堆栈跟踪下面的报告中。“我们还没有听到任何关于丢失日志的投诉。”多尔斯蒂文森谢谢你的回答。我创建了自己的UEHandler,因为在发生未捕获的异常时,我希望包含其他不必要的日志记录。调试时,我看到调用了我的处理程序(参见上面的示例),异常显示在控制台中,而不是日志中。如果我不使用自定义处理程序,如何仅在出现未捕获异常时“注入”其他日志?我希望在Firebase的UEH之前调用任何日志都能正常工作。一个可能的问题是,您的UEH可能在Firebase之前注册,在这种情况下,当崩溃发生时,Firebase实际上会在您的UEH之前执行,并且它不会有您的附加日志。你是在什么时候注册的?Firebase发生在ContentProvider onCreate(实际上很早)期间。我在Application.onCreate()中注册UEH,这是在创建内容提供程序之后,所以我想这不是问题所在。顺便说一下,对于在正常执行期间触发report()调用的非致命情况(例如,当用户发送反馈表单时),我会收到日志。因此,似乎只有当出现未捕获的异常时才会出现问题,不幸的是,当我真的需要额外的日志时:(更新:我在一个共享库项目中有两个应用程序使用相同的UEH实现,我只是注意到问题只发生在其中一个应用程序中。因此,在一个应用程序中,我总是获取日志,但在另一个应用程序中却没有。注意:两个应用程序都包含在同一个firebase控制台项目中,尽管我怀疑这是否会产生任何影响。。。