FirebaseMessagingService.zzo 上的 NullPointerException(未知来源)

NullPointerException on FirebaseMessagingService.zzo(Unknown Source)

有人知道这次崩溃吗?

Fatal Exception: java.lang.NullPointerException
       at com.google.firebase.messaging.FirebaseMessagingService.zzo(Unknown Source)
       at com.google.firebase.messaging.FirebaseMessagingService.zzn(Unknown Source)
       at com.google.firebase.messaging.FirebaseMessagingService.zzm(Unknown Source)
       at com.google.firebase.iid.zzb.run(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
       at java.lang.Thread.run(Thread.java:856)

发生的次数不多,大约占会话的 0.1%。

报告的环境:GI-I9500_TMMARS / Android 4.1.1.

此问题是 discussed as an issue 快速启动项目的问题。 Firebase 支持团队的评论表明该问题已在 SDK 9.4.0 版中修复。你是用那个版本构建的吗?

为了修复此错误,您应该在 Gradle 文件中更新 firebase 并添加第二行:

compile 'com.google.firebase:firebase-messaging:10.0.1' 
compile 'com.google.firebase:firebase-core:10.0.1' // also need to add this line.

出现“找不到”错误? 确保你有 Android SDK 管理器中的最新 Google 存储库

不要忘记更新项目根文件夹中的 Gradle 文件,否则您将无法获得版本 10.0.1:

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

来源:

https://github.com/firebase/quickstart-android/issues/185 https://firebase.google.com/docs/android/setup

在我的例子中,我使用了错误的键来获取值

Map data = remoteMessage.getData();
String name;
name = data.get("naem").toString());
//while correct key is name not naem