Android Firebase Crash in MessagingAnalytics



Exception

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

异常发生在两种方法中:

  • com.google.firebase.messaging.MessagingAnalytics.logNotificationDisshort
  • 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调用包装为尝试/捕获阻止。
  • 但是,这对logNotificationDismisslogNotificationReceived没有帮助,因为我们无法控制此代码。

谷歌支持

我们已将此问题通知了 Firebase 团队,并花了一周时间与支持人员交谈。但是,他们告诉我们,在我们发送重现崩溃的版本之前,他们甚至不会关注这个问题。我们关于该问题特定于设备的解释没有帮助。

问题

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

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

  1. 提取AAR com.google.firebase.firebase-messaging-X.X.X.aar
  2. 提取类.jar
  3. 反编译消息分析类
  4. 将尝试捕获添加到日志通知解除和日志通知已收到
  5. 编译消息传递分析
  6. 打包上课.jar返回
  7. 打包到AAR背面
  8. 替换项目中的 AAR

相关内容

  • 没有找到相关文章

最新更新