我有一个带有相应 Xamarin Android 项目的 Xamarin Forms 应用程序。我使用 Azure 通知中心来管理对应用程序的推送,并使用 FCM 来管理 Android 部分。该应用程序在上述设置中已经运行了一段时间。
当链接器设置为时,应用程序一切正常,"None"
但我的应用程序的最终下载大小很大。将 Linker 属性设置为SDK Assemblies Only
不会导致任何构建错误,但会导致推送通知中断。当通知被推送到设备时,应用程序崩溃(前台或后台)。
我使用 Firebase Crashlytics 记录的错误是java.lang.InstantiationException: java.lang.Class<com.google.firebase.iid.FirebaseInstanceIdReceiver> cannot be instantiated
. 我了解链接器可能删除了“未使用”的类,其中之一可能是必需的 Firebase 类。
我已经尝试将命名空间、类名、程序集名称等的各种修改添加到Skip Linking assemblies
选项中,但似乎都没有帮助解决这个问题
我也在尝试Enable MultiDex
使用此应用程序,但如果没有链接器,它会在初始加载时使应用程序崩溃。启用链接器后,Multi-Dex 似乎也能正常工作。