【问题标题】:InvocationTargetException on FCM message received caused by NoSuchMethodError由 NoSuchMethodError 导致收到的 FCM 消息上的 InvocationTargetException
【发布时间】:2016-10-11 02:23:42
【问题描述】:

当 FCM 消息发送到设备时。应用程序因此错误而崩溃:

Caused by: java.lang.NoSuchMethodError: No static method zzz(Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzaa; or its super classes (declaration of 'com.google.android.gms.common.internal.zzaa' appears in /data/data/com.dodum.ahivelnr/files/instant-run/dex/slice-com.google.android.gms-play-services-basement-9.6.1_edeb30b4cf5821e3a8ccd94cce4eee06ac81c766-classes.dex)
 at com.google.android.gms.measurement.internal.zzx.zzbd(Unknown Source)
 at com.google.android.gms.measurement.AppMeasurement.getInstance(Unknown Source)
 at java.lang.reflect.Method.invoke(Native Method) 
 at com.google.firebase.FirebaseApp.zza(Unknown Source) 
 at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
 at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
 at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
 at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source) 
 at android.content.ContentProvider.attachInfo(ContentProvider.java:1748) 
 at android.content.ContentProvider.attachInfo(ContentProvider.java:1723) 
 at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 
 at android.app.ActivityThread.installProvider(ActivityThread.java:5197) 
 at android.app.ActivityThread.installContentProviders(ActivityThread.java:4792) 
 at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4732) 
 at android.app.ActivityThread.-wrap1(ActivityThread.java) 
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1424) 
 at android.os.Handler.dispatchMessage(Handler.java:102) 
 at android.os.Looper.loop(Looper.java:148) 
 at android.app.ActivityThread.main(ActivityThread.java:5461) 
 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 版本:

com.google.firebase:firebase-messaging:9.6.1

也是最新的gradle:

com.android.tools.build:gradle:2.2.1

我已添加classpath 'com.google.gms:google-services:3.0.0'

并添加了插件apply plugin: 'com.google.gms.google-services'

【问题讨论】:

  • 提供您与 FCM 相关的活动。
  • 活动中没有FCM相关内容。
  • 那你为什么要使用FCM?您必须在客户端实现 FCM 消息传递和实例 ID 服务才能使用 FCM
  • 我已经实现了服务。但它不需要 Activity 来启动它,因为在应用程序启动时会启动接收器服务
  • @suku 据我所知,当 Firebase Instance ID 服务依赖未正确实现时会发生此错误。确保您的清单是正确的,并且 apply plugin: 'com.google.gms.google-services' 在依赖项的底部被声明。还要提到@RushiMThakker,否则我不会知道你回复了我的评论

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


【解决方案1】:

确保apply plugin: 'com.google.gms.google-services'下面依赖项之外声明。

【讨论】:

    【解决方案2】:

    您还应该将 com.google.firebase:firebase-core:9.6.1 添加到您的依赖项中

    【讨论】:

    • 如果没有添加,我什至不会看到这个错误
    • @suku 但我在没有 firebase-core 的情况下看到了这个错误。它和你的完全一样。
    • 为什么需要为 fcm 添加 firebase 核心...没有它也可以工作
    • @suku 我有 NoSuchMethodError: No static method zzz without added firebase core。在我添加了 firebase 核心后它就消失了。
    • 好的...因为在我按照@rushi 的建议更改了代码之后,fcm 工作正常...我没有添加 firebase 核心
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多