#android #firebase #firebase-cloud-messaging #firebase-notifications
#Android #firebase #firebase-облако-обмен сообщениями #firebase-уведомления
Вопрос:
Когда на устройство отправляется сообщение 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'
Комментарии:
1. Укажите свою активность, связанную с FCM.
2. В активности нет ничего, связанного с FCM.
3. Тогда почему вы используете FCM? Для использования FCM на стороне клиента должны быть реализованы службы обмена сообщениями FCM и идентификатора экземпляра
4. У меня реализованы службы. Но для его запуска не требуется действие, поскольку служба получателя запускается при запуске приложения
5. @suku Насколько я знаю, эта ошибка возникает, когда зависимость служб идентификатора экземпляра Firebase реализована неправильно. Убедитесь, что ваш манифест правильный и
apply plugin: 'com.google.gms.google-services'
объявлен снаружи внизу зависимостей. Также упомяните @RushiMThakker, иначе я не узнаю, что вы ответили на мой комментарий
Ответ №1:
Убедитесь apply plugin: 'com.google.gms.google-services'
, что оно объявлено снаружи под зависимостями.
Ответ №2:
Вы также должны добавить com.google.firebase: firebase-core: 9.6.1 для ваших зависимостей
Комментарии:
1. Без этого добавления я бы даже не увидел эту ошибку
2. @suku но я видел эту ошибку без firebase-core. И это было точно так же, как у вас.
3. Зачем нужно добавлять ядро firebase для fcm…it работает и без него
4. @suku У меня была ошибка NoSuchMethodError: нет статического метода zzz без добавления ядра firebase. И оно исчезло после того, как я добавил ядро firebase.
5. Хорошо … потому что после того, как я изменил код, как предложил @rushi, fcm работал нормально… Я не добавил ядро firebase