【问题标题】:Firebase crash while using GCM使用 GCM 时 Firebase 崩溃
【发布时间】:2017-02-23 21:57:03
【问题描述】:

我正面临一个非常奇怪的问题。我刚刚将我的播放服务依赖项从版本 10.0.1 升级到 10.2.0

我现在正在使用这些:

compile 'com.google.android.gms:play-services-maps:10.2.0'
compile 'com.google.android.gms:play-services-location:10.2.0'
compile 'com.google.android.gms:play-services-gcm:10.2.0'

现在,每次我收到推送通知时,我的应用都会崩溃。显示通知,然后我收到一个对话框,说我的应用程序停止工作。

崩溃日志

FATAL EXCEPTION: main
               Process: com.avantcar.a2go, PID: 581
               java.lang.NoSuchMethodError: No static method zzaaj()Lcom/google/firebase/iid/zzg; in class Lcom/google/firebase/iid/zzg; or its super classes (declaration of 'com.google.firebase.iid.zzg' appears in /data/app/com.avantcar.a2go-1/base.apk:classes69.dex)
               at com.google.firebase.messaging.FirebaseMessagingService.zzF(Unknown Source)
               at com.google.firebase.iid.zzb.onStartCommand(Unknown Source)
               at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3010)
               at android.app.ActivityThread.-wrap17(ActivityThread.java)
               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1442)
               at android.os.Handler.dispatchMessage(Handler.java:102)
               at android.os.Looper.loop(Looper.java:148)
               at android.app.ActivityThread.main(ActivityThread.java:5417)
               at java.lang.reflect.Method.invoke(Native Method)
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

它似乎因为与 FCM 相关的原因而崩溃,但我还没有在我的应用程序中使用 FCM。我仍在使用 GCM。

【问题讨论】:

  • 您在哪个版本的 Android 上运行应用程序?
  • @JoaoSousa 6.0 内部版本号 MPA44G
  • 您是否导入任何 Firebase 库?像 firebase-messaging 或 firebase-core。如果这样做,您还需要将它们更新到 10.2.0。
  • 不,我确实使用了 Smooch,它显然也支持 FCM,但我注释掉了所有 Smooch 代码,但它仍然崩溃。我将所有可能的库都更新到了 10.2.0
  • 那么尝试导入它们。无论如何,您不应该真正使用 GCM。看起来内部的某些东西正在尝试通过仅可通过 FCM 获得的反射调用方法,因此请将 compile 'com.google.firebase:firebase-core:10.2.0'compile 'com.google.firebase:firebase-messaging:10.2.0' 添加到您的 app.gradle

标签: android google-cloud-messaging firebase-cloud-messaging


【解决方案1】:

我遇到了同样的问题,这是因为我使用不同的版本进行消息传递,所以尝试在所有与 firebase 相关的依赖项上使用相同的版本

【讨论】:

  • 很抱歉忘记接受答案。这不完全是我的问题,但它让我找到了解决方案。我确实使用了不兼容的 Firebase 版本。
【解决方案2】:

您可能需要检查您的 Android API 级别。

Google APIs for Android - Release Notes 中所述,将您的 Google Play 服务更新到 10.2 需要最低 Android API 级别为 14。

这里还有一些其他文章/SO 帖子也会有所帮助:

【讨论】:

    【解决方案3】:

    使用 google play services 10.2.0 和相同的 firebase 消息传递对我有用。

    compile 'com.google.android.gms:play-services-auth:10.2.0'
    compile 'com.google.firebase:firebase-messaging:10.2.0'
    

    【讨论】:

      【解决方案4】:

      对我来说这个配置

      compile 'com.google.firebase:firebase-messaging:10.0.1'
      compile 'com.google.firebase:firebase-auth:10.0.0'
      

      修复了 AndroidStudio 2.3.3 上的多双工 gradle 编译错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-26
        • 1970-01-01
        • 2018-12-08
        • 2017-07-22
        相关资源
        最近更新 更多