尝试构建Firebase聊天应用程序,并想测试FCM是否有效。尝试通过从Firebase控制台发送云消息来测试通知功能,但该应用程序在所有设备中崩溃。
这是从logcat中检索到的错误
06-30 16:11:07.783 26794-26794 / com.example.ryzeng.firebasechat E / AndroidRuntime:致命异常:main 流程:com.example.ryzeng.firebasechat,PID:26794 java.lang.NoSuchMethodError:没有静态方法zzad()Lcom / google / firebase / iid / zzan;在班上 Lcom / google / firebase / iid / zzan;或其超类(声明为 “ com.google.firebase.iid.zzan”出现在 /data/app/com.example.ryzeng.firebasechat-2/split_lib_dependencies_apk.apk) com.google.firebase.messaging.FirebaseMessagingService.zzb(未知 资源) 在com.google.firebase.iid.zzb.onStartCommand(未知来源) 在android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3366) 在android.app.ActivityThread.-wrap21(ActivityThread.java) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1612) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:154) 在android.app.ActivityThread.main(ActivityThread.java:6236) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:891) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)
答案 0 :(得分:6)
在您的项目文件中,在文件 build.gradle 中(“模块:应用”) 将Firebase消息传递的版本更改为最新版本,例如:
implementation 'com.google.firebase:firebase-messaging:17.1.0'
答案 1 :(得分:1)
为我工作
我更新Firebase邮件依赖项
来自
implementation 'com.google.firebase:firebase-messaging:17.0.0'
至
implementation 'com.google.firebase:firebase-messaging:17.3.1'
答案 2 :(得分:0)
当您实现两个或两个以上不同版本的Firebase时,就会发生这种情况。
因此,最好为所有firebase的实现提供相同的版本。
implementation 'com.google.firebase:firebase-ads:17.1.3'