Xamarin Android链接器-删除Firebase消息传递类

Xamarin Android链接器-删除Firebase消息传递类,android,firebase,xamarin,xamarin.android,firebase-cloud-messaging,Android,Firebase,Xamarin,Xamarin.android,Firebase Cloud Messaging,我有一个XamarinForms应用程序和相应的XamarinAndroid项目。我使用Azure Notification Hub管理应用程序推送,并使用FCM管理Android应用程序推送。应用程序已在上述设置中运行了一段时间 当链接器设置为“None”时,应用程序的一切都很好,但我的应用程序的最终下载量很大。将链接器属性设置为“仅SDK程序集”不会导致任何生成错误,但会导致推送通知中断。将通知推送到设备时,应用程序崩溃(前台或后台) 我在Firebase Crashlytics中记录的错误

我有一个XamarinForms应用程序和相应的XamarinAndroid项目。我使用Azure Notification Hub管理应用程序推送,并使用FCM管理Android应用程序推送。应用程序已在上述设置中运行了一段时间

当链接器设置为
“None”
时,应用程序的一切都很好,但我的应用程序的最终下载量很大。将链接器属性设置为“仅SDK程序集”不会导致任何生成错误,但会导致推送通知中断。将通知推送到设备时,应用程序崩溃(前台或后台)

我在Firebase Crashlytics中记录的错误是
java.lang.InstanceionException:java.lang.Class无法实例化
。我知道链接器可能删除了“未使用的”类,其中一个可能是必需的Firebase类

我曾尝试在
跳过链接程序集
选项中添加对名称空间、类名、程序集名称等的各种修改,但似乎没有任何修改对解决此问题有所帮助


我还试图在此应用程序上启用MultiDex,但如果没有链接器,它会在初始加载时使应用程序崩溃。启用链接器后,多索引似乎也可以正常工作。

生产版本通常不建议使用“无”设置。链接器有时会删除要保留的代码。您可以使用Android.Runtime.Preserve属性来保存。对于生产版本,通常不建议使用“无”设置。链接器有时会删除要保留的代码。您可以使用Android.Runtime.Preserve属性来保存。