【问题标题】:Android Firebase Crash in MessagingAnalyticsMessagingAnalytics 中的 Android Firebase 崩溃
【发布时间】:2018-09-04 14:58:35
【问题描述】:

异常

我们在 Google Play 中看到很多与 Firebase 相关的崩溃。

异常发生在两种方法中:

  • com.google.firebase.messaging.MessagingAnalytics.logNotificationDismiss
  • com.google.firebase.messaging.MessagingAnalytics.logNotificationReceived

堆栈跟踪示例:

at com.google.firebase.FirebaseApp.getInstance(com.google.firebase:firebase-common@@16.0.1:219)
  at com.google.firebase.messaging.MessagingAnalytics.zza (Unknown Source)
  at com.google.firebase.messaging.MessagingAnalytics.logNotificationReceived (Unknown Source)
  at com.google.firebase.messaging.FirebaseMessagingService.zzd (Unknown Source)
  at com.google.firebase.iid.zzc.run (Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1133)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:607)
  at com.google.android.gms.common.util.concurrent.zza.run (Unknown Source)
  at java.lang.Thread.run (Thread.java:762)

调查

我们做了调查,找到了原因:

  • Firebase 自身初始化时发生异常。
  • 当设备的 Google Play 服务版本过时时,可能会发生这种情况。
  • 我们已设法通过将所有 Firebase 调用包装到 try / catch 块中来解决应用代码中的此问题。
  • 但是,这对 logNotificationDismisslogNotificationReceived 没有帮助,因为我们无法控制此代码。

谷歌支持

我们已将此问题通知 Firebase 团队,并与支持人员进行了一周的交谈。但是,他们告诉我们,在我们发送重现崩溃的构建之前,他们甚至不会考虑这个问题。我们对问题是特定于设备的解释没有帮助。

问题

我们可以做些什么来防止com.google.firebase.messaging.MessagingAnalytics 使我们的应用程序崩溃?

【问题讨论】:

    标签: android firebase crash firebase-cloud-messaging


    【解决方案1】:

    我们已经设法解决了这个问题。

    1. 提取 AAR com.google.firebase.firebase-messaging-X.X.X.aar
    2. 提取 classes.jar
    3. 反编译 MessagingAnalytics 类
    4. 将 try catch 添加到 logNotificationDismisslogNotificationReceived
    5. 回编译 MessagingAnalytics
    6. 打包回classes.jar
    7. 打包回 AAR
    8. 替换项目中的 AAR

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 2019-03-28
      相关资源
      最近更新 更多