【问题标题】:FirebaseInstallation class crashing in AndroidFirebaseInstallation 类在 Android 中崩溃
【发布时间】:2020-11-05 11:08:54
【问题描述】:

Firebase Crashlytics 已在 Playstore 上安装 Android 8 和 Android 6 的大量设备上报告了此崩溃。 我们也在应用中使用 dexguard。

我使用的环境和组件如下。

项目构建.gradle

classpath 'com.google.firebase:firebase-crashlytics-gradle:2.2.0' // Crashlytics plugin
classpath 'com.google.firebase:perf-plugin:1.3.1'  // Performance Monitoring plugin

应用构建.gradle

implementation 'com.google.firebase:firebase-messaging:20.2.1'
implementation 'com.google.firebase:firebase-analytics:17.4.3'
implementation 'com.google.firebase:firebase-crashlytics:17.1.0'
implementation 'com.google.firebase:firebase-perf:19.0.7'

这些是我从 Crashlytics 获得的日志。

???
com.google.firebase.installations.FirebaseInstallations.INotificationSideChannel$Stub$Proxy

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.google.firebase.installations.FirebaseInstallations.INotificationSideChannel$Stub$Proxy(:452)
at com.google.firebase.installations.FirebaseInstallations.INotificationSideChannel$Stub$Proxy(:331)
at com.google.firebase.installations.FirebaseInstallations.INotificationSideChannel$Stub$Proxy(:296)
at com.google.firebase.installations.FirebaseInstallations$$Lambda$3.run(:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)

它没有给出任何提示,因此我们可以在我们的设备上重现该崩溃,但这会导致大量用户。

【问题讨论】:

  • 不知道为什么这被标记在 FCM 下(现在已删除)。崩溃前是否有与 FCM 相关的更新?或者像发送 可能导致崩溃的推送通知?
  • 我们不确定为什么会这样,因为我们只有 crashlytics 的踪迹。它可能与导致该问题的推送有关,但仍不确定。

标签: android firebase push-notification


【解决方案1】:

我的第一个猜测是您使用了一些不兼容的 Firebase SDK 版本,因为在底层存在许多相互依赖关系。

这些天来,我建议使用Firebase BoM(材料清单)来管理所有 SDK 版本。这允许您只指定一次版本(BoM 的版本),然后在不指定版本的情况下包含所有其他 SDK。

要在您的问题中使用最新的 BoM 和 SDK,如下所示:

implementation platform('com.google.firebase:firebase-bom:26.0.0')

implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-crashlytics'
implementation 'com.google.firebase:firebase-perf'

如果您想查看(或比较)某个 BoM 版本中包含哪些 SDK 版本,请查看这个方便的BoM version comparator

【讨论】:

    【解决方案2】:

    firebase 已在其最新版本中修复了此问题。我使用的是以前的版本,现在我已经更新到最新版本。欲了解更多信息,请访问此链接。

    https://github.com/firebase/firebase-android-sdk/issues/2147

    【讨论】:

      猜你喜欢
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-07
      • 1970-01-01
      • 2021-12-20
      • 1970-01-01
      相关资源
      最近更新 更多