【问题标题】:Firebase. java.lang.RuntimeException: Unable to instantiate receiver com.google.android.gms.gcm.GcmReceiver: java.lang.ClassNotFoundException:火力基地。 java.lang.RuntimeException:无法实例化接收器 com.google.android.gms.gcm.GcmReceiver:java.lang.ClassNotFoundException:
【发布时间】:2017-10-19 06:28:20
【问题描述】:

我尝试通过新的 Firebase GCM 实施来实施推送通知。 很简单:

<service
    android:name=".services.MyMessagingService">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT"/>
    </intent-filter>
</service>
<service
    android:name=".services.MyInstanceIDService">
    <intent-filter>
        <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
    </intent-filter>
</service>

但这些服务也不是必需的。 当然,我在 build.gradle 的末尾插入了用于 GCM 类代码生成的 gradle 插件: 应用插件:'com.google.gms.google-services' 并且在项目 gradle 文件中也有这个:

dependencies {
    classpath 'com.google.gms:google-services:3.1.0'
}

当我启动应用并尝试从 firebase 向应用发送通知时,它会因奇怪的反射错误而崩溃。

java.lang.RuntimeException: Unable to instantiate receiver com.google.android.gms.gcm.GcmReceiver: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.gcm.GcmReceiver"

我什至不知道如何调试这个错误。

【问题讨论】:

  • 你设法解决了这个问题@eugene-verichev?
  • 是的,现在我发布了答案

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


【解决方案1】:

我发现崩溃不是来自 firebase,而是来自依赖于 firebase 旧实现的库。 在我的例子中是'com.yandex.android:mobmetricapushlib:$version'。 使用 'com.google.firebase:firebase-messaging:$project.ext.google_play_services_version' 会导致崩溃。 我决定不使用新的 firebase 库,而是使用 gcm 库实现它。

【讨论】:

  • 感谢@Eugene 的回答。你完全正确。我也找到了。我受到了一个名为 Intercom 的图书馆的影响。不过我很幸运,Intercom 也有 FCM 版本!
  • 谢谢,我在接手一个遗留项目时遇到了同样的对讲问题。我将 ``` implementation 'io.intercom.android:intercom-sdk-base:5.+' ``` 更改为 ``` implementation 'io.intercom.android:intercom-sdk-base:5.+' implementation' io.intercom.android:intercom-sdk-fcm:5.+' ```
【解决方案2】:

我也有这个问题。我刚刚从我的依赖项中删除了 react-native-push-notification,现在它解决了我的问题。

【讨论】:

    【解决方案3】:

    这会在 GCM 升级到 Firebase 时出现。

    AndroidManifest.xml 中删除com.google.android.gms.gcm.GcmReceiver

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 2021-11-22
      • 1970-01-01
      • 2014-05-07
      • 2013-05-21
      相关资源
      最近更新 更多