You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Firebase.Crashlytics后Xamarin.Android应用运行时崩溃如何解决

Xamarin.Android升级Firebase v118.x后运行时类缺失解决方案
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.datatransport.Transformer" on path: DexPathList[[zip file "/data/app/11-17 15:25:15.884 E/AndroidRuntime( 5560):     at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:584)
[AndroidRuntime]    at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:303)
[AndroidRuntime]    at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:267)
[AndroidRuntime]    at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:252)
[AndroidRuntime]    at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:51)

该报错根因为高版本Firebase依赖的Google数据传输核心包未被自动安装,属于Xamarin.Android Firebase包的依赖传递缺失问题,可按以下步骤解决:

  • 手动安装缺失的核心依赖包
    打开NuGet包管理器,为Android项目安装以下两个稳定版NuGet包:
    • Xamarin.Google.Android.DataTransport.TransportRuntime
    • Xamarin.Google.Android.DataTransport.TransportBackendCct
      安装时优先选择最新稳定版,确保和当前项目中Firebase、AndroidX包版本适配。
  • 全量清理项目缓存后重建
    Xamarin旧构建缓存会导致新依赖不生效,需执行以下操作:
    1. 关闭IDE,删除解决方案根目录、Android项目目录下的所有bin、obj文件夹
    2. 清空本地NuGet缓存,可通过VS工具选项中的NuGet包管理器功能执行,或运行命令nuget locals all -clear
    3. 重新打开解决方案,还原所有NuGet包后重新编译部署
  • 检查MultiDex配置正确性
    若项目开启了MultiDex,需确认配置无误避免类被排除:
    1. minSdkVersion < 21的项目,需在AndroidManifest.xml的application节点添加属性android:name="androidx.multidex.MultiDexApplication",或自定义Application类继承MultiDexApplication
    2. 确认Android项目属性的打包设置中,「启用Multi-Dex」已勾选,Dex编译器选择d8
  • 排查依赖版本冲突
    检查所有已安装的Firebase系列包、AndroidX系列包的版本是否统一,避免同一依赖存在多个不同版本共存。同时确认所有旧Fabric相关包(包括Xamarin.Android.Fabric、Xamarin.Crashlytics以及低于118版本的Firebase Crashlytics包)已完全移除。

内容的提问来源于stack exchange,提问作者slprog1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:24:01