【问题标题】:Firebase Crashlytics fails to report crash in Firebase ConsoleFirebase Crashlytics 无法在 Firebase 控制台中报告崩溃
【发布时间】:2020-09-22 17:23:23
【问题描述】:

我目前正在尝试将 Google 的 Firebase Crashlytics 报告功能集成到我们的应用程序中。我们目前使用 Fabric,但由于为了支持 Firebase Crashlytics 而弃用了 Fabric。

我遵循了迁移步骤(从 Fabric 迁移到使用 Firebase Crashlytics)。但是,在测试当前实现时,我收到以下错误

06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics: java.io.FileNotFoundException: /data/user/0/com.company.appa.pos/files/.com.google.firebase.crashlytics/report-persistence/sessions/5ED7DB3A027B00
01184FE3BB77B63DD3/user: open failed: ENOENT (No such file or directory)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at libcore.io.IoBridge.open(IoBridge.java:452)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at java.io.FileInputStream.<init>(FileInputStream.java:76)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at com.google.firebase.crashlytics.internal.persistence.CrashlyticsReportPersistence.readTextFile(com.google.firebase:firebase-crashlytics@@17.0.0:470)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at com.google.firebase.crashlytics.internal.persistence.CrashlyticsReportPersistence.synthesizeReport(com.google.firebase:firebase-crashlytics@@17.0.0:309
)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at com.google.firebase.crashlytics.internal.persistence.CrashlyticsReportPersistence.finalizeReports(com.google.firebase:firebase-crashlytics@@17.0.0:197)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.finalizeSessions(com.google.firebase:firebase-crashlytics@@17.0.0:159)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at com.google.firebase.crashlytics.internal.common.CrashlyticsController.doCloseSessions(com.google.firebase:firebase-crashlytics@@17.0.0:867)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at com.google.firebase.crashlytics.internal.common.CrashlyticsController.doCloseSessions(com.google.firebase:firebase-crashlytics@@17.0.0:827)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at com.google.firebase.crashlytics.internal.common.CrashlyticsController$6.call(com.google.firebase:firebase-crashlytics@@17.0.0:407)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at com.google.firebase.crashlytics.internal.common.CrashlyticsController$6.call(com.google.firebase:firebase-crashlytics@@17.0.0:393)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at com.google.firebase.crashlytics.internal.common.CrashlyticsBackgroundWorker$3.then(com.google.firebase:firebase-crashlytics@@17.0.0:106)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at com.google.android.gms.tasks.zzf.run(Unknown Source)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(com.google.firebase:firebase-crashlytics@@17.0.0:60)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(com.google.firebase:firebase-crashlytics@@17.0.0:27)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at java.lang.Thread.run(Thread.java:818)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at libcore.io.Posix.open(Native Method)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   at libcore.io.IoBridge.open(IoBridge.java:438)
06-03 19:39:23.735  6223  6250 D FirebaseCrashlytics:   ... 16 more
06-03 19:39:23.800  6223  6250 D FirebaseCrashlytics: Opening a new session with ID 5ED7E04B031F-0002-184F-E3BB77B63DD3
06-03 19:39:23.823  6223  6250 D FirebaseCrashlytics: Send via DataTransport disabled. Removing DataTransport reports.
06-03 19:39:25.492  6223  9493 D FirebaseCrashlytics: Timeout exceeded while awaiting app exception callback from FA listener.
06-03 19:39:25.493  6223  6223 D FirebaseCrashlytics: Crashlytics completed exception processing. Invoking default exception handler.
06-03 19:39:25.495  6223  6250 D FirebaseCrashlytics: Attempting to send crash report at time of crash...
06-03 19:39:25.508  6223  6250 D FirebaseCrashlytics: Adding single file 5ED7DB3A027B-0001-184F-E3BB77B63DD3.cls to report 5ED7DB3A027B-0001-184F-E3BB77B63DD3
06-03 19:39:25.510  6223  6250 D FirebaseCrashlytics: Sending report to: https://reports.crashlytics.com/spi/v1/platforms/android/apps/com.company.appb/reports
06-03 19:39:27.666  6223  6250 D FirebaseCrashlytics: Create report request ID: null
06-03 19:39:27.666  6223  6250 D FirebaseCrashlytics: Result was: 202
06-03 19:39:27.668  6223  6250 I FirebaseCrashlytics: Crashlytics Reports Endpoint upload complete: 5ED7DB3A027B-0001-184F-E3BB77B63DD3

【问题讨论】:

    标签: android firebase crashlytics


    【解决方案1】:

    在新的 Firebase Crashlytics 中面临同样的问题。我给你的建议是回滚到以前版本的 Fabric crashlytics。

    【讨论】:

    • 还有什么建议吗?
    【解决方案2】:

    Firebaser 在这里 -

    这是一个与您的问题相似的 github 问题的链接:https://github.com/firebase/firebase-android-sdk/issues/1559

    this comment 中,Crashlytics 的一位工程师解释说:“如果您看到 FileNotFoundException 的日志条目以 /user 结尾——那是良性的。”因此,除非您实际上被此阻止或某些东西不起作用,否则您应该一切就绪。

    【讨论】:

    • 是的,我们必须确保在logcat中Sending report to: https://reports.crashlytics.com/spi/v1/platforms/android/apps/com.example.myapp/reports
    猜你喜欢
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-03
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多