Firebase Crashlytics 未报告崩溃
Posted
技术标签:
【中文标题】Firebase Crashlytics 未报告崩溃【英文标题】:Firebase Crashlytics not reporting crashes 【发布时间】: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 调试日志?
【参考方案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.**
我希望这对您和其他许多人有所帮助,我已经花了一周的时间调试并尝试了我想象的任何东西。
【讨论】:
这里有一些参考:firebase.google.com/docs/crashlytics/… 不包括 SourceFile 允许对应用程序进行逆向工程吗?【参考方案2】:您是否也将 Fabric.with(this, Crashlytics())
添加到您的主要活动的 onCreate 中?
【讨论】:
欢迎来到 ***!请提供带有参考资料的具体答案。如果您有建议或需要澄清,请发表评论。我们有关于How to write a good answer 的指导方针。 文档没有说明它是必需的,但我也试过了,还是不行。 firebase.google.com/docs/crashlytics/get-started?authuser=0【参考方案3】:对于开发应用程序,crashlytics 不会上传任何报告。您需要创建一个新版本。 React 有一个很好的文档 page 关于如何发布新应用程序。准备好 apk 后,您就可以使用变体版本运行 android。完成此操作后,您的日志将开始上传一些崩溃报告。
有关更详细的答案,您还可以查看此 *** post
【讨论】:
以上是关于Firebase Crashlytics 未报告崩溃的主要内容,如果未能解决你的问题,请参考以下文章
react-native-firebase crashlytics 未显示在 firebase 仪表板上
Firebase Crashlytics 自定义日志未出现在控制台中
1 天后,firebase crashlytics 报告中没有数据
Crashlytics-Firebase 崩溃报告没有意义[重复]