实现 Firebase 云消息传递时出现 Java.Lang.NoClassDefFoundError

问题描述

我正在使用 Firebase Cloud Messaging 实现推送通知,为此我在 AndroidManifest.xml 文件添加了此代码

<classifier/>

但是当我尝试运行应用程序时,它甚至在开始活动之前就抛出应用程序

<!--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-->

顺便说一下,我为此功能安装了两个 NuGet 包:

  1. Xamarin.GooglePlayServices.Base
  2. Xamarin.Firebase.Messaging

我试过了:

  1. 删除 bin 和 obj 文件夹并重新构建解决方
  2. 将所有相同的家族金块包更新为相同的版本

解决方法

安装 Xamarin.Google.Dagger 包为我解决了这个问题。

,

只需安装包 Xamarin.Google.Dagger。这应该够了吧。似乎它正在尝试寻找包裹,但没有找到。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...