【问题标题】:Firebase Crashlytics not reporting crashesFirebase Crashlytics 未报告崩溃
【发布时间】:2019-04-18 22:22:51
【问题描述】:

我已成功地将 Firebase 集成到我的项目中
(身份验证和存储效果很好)但是在简单集成了 Crashlytics 并故意(而不是故意 :) 使我的应用程序崩溃之后 - 没有崩溃报告出现在崩溃仪表板中。
我确实在 Logcat 中看到:
D/FirebaseApp:com.google.firebase.crash.FirebaseCrash 未链接。跳过初始化
I/CrashlyticsCore:Crashlytics 报告上传完成:5BEDB1320329-0001-43...

我已经毫无问题地将 Crashlytics 集成到其他 3 个应用程序中,但由于某种原因,它在我的新应用程序中不起作用。
谁能想到我错过了什么?

有一个新下载的 google-services.json 文件
我添加到项目的 gradle 文件中:

构建脚本 { 存储库{ 行家{ 网址“https://maven.fabric.io/public” } } 依赖{ 类路径 'com.google.gms:google-services:4.2.0' 类路径'io.fabric.tools:gradle:1.26.1' } } 所有项目{ 存储库{ // ... 行家{ 网址“https://maven.google.com/” } } }

并添加到应用 gradle 文件中:

应用插件:'io.fabric' 依赖{ // ... 实施 'com.google.firebase:firebase-core:16.0.5' 实施 'com.crashlytics.sdk.android:crashlytics:2.9.6' }

感谢您的意见

更新
启用 Crashlytics 调试日志显示捕获并报告了崩溃,但项目的 Firebase Crashlytics 仪表板中仍然没有显示任何内容

D/CrashlyticsCore: Checking for crash reports...
D/CrashlyticsCore: Found crash report /data/.../files/.Fabric/com.crashlytics.sdk.android.crashlytics-core/fatal-sessions/5BEEA22001B0-0001-21C3-C00BC3A0D0B2.cls
D/CrashlyticsCore: Attempting to send 1 report(s)
D/Answers: Response code for analytics file send is 200
D/CrashlyticsCore: Adding single file 5BEEA22001B0-0001-21C3-C00BC3A0D0B2.cls to report 5BEEA22001B0-0001-21C3-C00BC3A0D0B2
D/CrashlyticsCore: Sending report to: https://reports.crashlytics.com/spi/v1/platforms/android/apps/com.salt.logomaker/reports
D/CrashlyticsCore: Create report request ID: null
D/CrashlyticsCore: Result was: 202
I/CrashlyticsCore: Crashlytics report upload complete: 5BEEA22001B0-0001-21C3-C00BC3A0D0B2
D/CrashlyticsCore: Removing report at /data/.../files/.Fabric/com.crashlytics.sdk.android.crashlytics-core/fatal-sessions/5BEEA22001B0-0001-21C3-C00BC3A0D0B2.cls
D/CrashlyticsCore: Checking for crash reports...
D/CrashlyticsCore: No reports found.

【问题讨论】:

  • 这里是来自 Firebase 的 Mike。你能分享一下应用的实际包名吗?
  • @Mike Bonnell 当然,它出现在日志 com.salt.logomaker 中,谢谢
  • @Mike Bonnell 我发现了我的问题,我不知道前开发人员在清单文件中粘贴了 io.fabric.ApiKey 元数据。在我删除它之后,崩溃开始出现在仪表板中。我将删除这个问题,因为它对其他人没有用。感谢您的帮助!
  • 我删除了manifests.xml 中的密钥,但Firebase 仍然没有收到任何报告。我该如何解决这个问题?
  • 我遇到了类似的问题 - 我收到了一些崩溃报告(包括 Crashlytics 的手动崩溃报告),但没有报告其他崩溃。如何在 logcat 中启用 Crashlytics 调试日志?

标签: android firebase crashlytics


【解决方案1】:

我遇到了同样的问题,Crashlytics 没有报告事件趋势,也没有在 PROD 构建中崩溃堆栈跟踪。问题出在 Proguard 配置中。尽管听起来很愚蠢,但在 Google 的所有文档中都没有提及 Proguard。在这里你可以找到我必须添加的内容:

# Firebase
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keep public class * extends java.lang.Exception
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**

我希望这对您和其他许多人有所帮助,我已经花了一周的时间调试并尝试了我想象的任何东西。

【讨论】:

【解决方案2】:

您是否也将 Fabric.with(this, Crashlytics()) 添加到您的主要活动的 onCreate 中?

【讨论】:

【解决方案3】:

对于开发应用程序,crashlytics 不会上传任何报告。您需要创建一个新版本。 React 有一个很好的文档 page 关于如何发布新应用程序。准备好 apk 后,您就可以使用变体版本运行 android。完成此操作后,您的日志将开始上传一些崩溃报告。

有关更详细的答案,您还可以查看此 stackoverflow post

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多