Java.Lang.NoClassDefFoundError 在实现 firebase cloud messaging 时出错

我正在使用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.Messaging

我试过:

  1. 删除 bin 和 obj 文件夹并再次生成解决方案
  2. 将所有相同的系列块包更新到相同的版本

答案 1

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


答案 2

只需安装Xamarin.Google.Dagger软件包即可。这应该可以解决问题。似乎它试图寻找包裹,但没有找到它。


推荐