Java.Lang.NoClassDefFoundError при реализации обмена облачными сообщениями Firebase

Я внедряю push-уведомления с помощью Firebase Cloud Messaging, для этого я добавил этот код в свой файл AndroidManifest.xml.

<!--FCM RECEIVER-->
<receiver
  android:name = "com.google.firebase.iid.FirebaseInstanceIdInternalReceiver"
  android:exported = "false"/>
<receiver
  android:name = "com.google.firebase.iid.FirebaseInstanceIdReceiver"
  android:exported = "true"
  android:permission = "com.google.android.c2dm.permission.SEND">
  
  <intent-filter>
    <action android:name = "com.google.android.c2dm.intent.RECEIVE"/>
    <action android:name = "com.google.android.c2dm.intent.REGISTRATION"/>
    <category android:name = "${applicationId}"/>
  </intent-filter>    
</receiver>
<!---FCM RECEIVER ENDS HERE-->

но когда я пытаюсь запустить приложение, оно бросает приложение еще до начала активности

Java.Lang.NoClassDefFoundError: 'Failed resolution of: Lcom/google/android/datatransport/runtime/dagger/internal/Factory;'

Кстати, я установил два пакета NuGet для этой функциональности:

  1. Xamarin.GooglePlayServices.Base
  2. Xamarin.Firebase.Сообщения

Я пытался:

  1. удаление папки bin и obj и повторное создание решения
  2. обновление всех пакетов семейных слепков до одной и той же версии
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
29
0
7 174
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Установка пакета Xamarin.Google.Dagger решила эту проблему для меня.

Как вы обнаружили, что ошибка связана с отсутствующим пакетом?

Omtechguy 19.01.2021 13:48

Я бы хотел, чтобы это было упомянуто в Xamarin doc!

trebor 23.02.2021 03:06

Такое простое решение. Хотелось бы, чтобы побольше проблем решалось подобным образом.

Chris 29.06.2021 20:55

Убедитесь, что вы устанавливаете его в проект Android, а не в проект форм xamarin.

pseudoabdul 14.07.2021 05:27

Пожалуйста, обновите ответ, чтобы указать, что установка должна быть в проекте Android.

user1034912 10.09.2021 09:47

Просто установите пакет Xamarin.Google.Dagger. Это должно делать свое дело. Кажется, он пытается найти пакет, но не находит его.

Другие вопросы по теме