使用 GCM 时 Firebase 崩溃

Firebase crash while using GCM

我遇到了一个非常奇怪的问题。我刚刚将我的播放服务依赖项从版本 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 API 水平。

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

还有其他 articles/SO post 也有帮助:

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

使用 google 播放服务 10.2.0 和相同的 firebase 消息传递对我有用。

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

我这个配置

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

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