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

Unity构建的Android应用因Firebase AAR文件NoClassDefFoundError崩溃

Unity Firebase Android构建启动崩溃问题排查与解决

问题现象

构建后的Android应用启动即崩溃,抛出类找不到异常:

Exception java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/appcheck/interop/InternalAppCheckTokenProvider;
  at com.google.firebase.database.DatabaseRegistrar.getComponents (DatabaseRegistrar.java:41)
  at com.google.firebase.tracing.ComponentMonitor.processRegistrar (ComponentMonitor.java:28)
  at com.google.firebase.components.ComponentRuntime.discoverComponents (ComponentRuntime.java:117)
  at com.google.firebase.components.ComponentRuntime.<init> (ComponentRuntime.java:99)
  at com.google.firebase.components.ComponentRuntime.<init> (ComponentRuntime.java:46)
  at com.google.firebase.components.ComponentRuntime$Builder.build (ComponentRuntime.java:387)
  at com.google.firebase.FirebaseApp.<init> (FirebaseApp.java:438)
  at com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:295)
  at com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:263)
  at com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:248)
...

环境信息:

  • Unity版本:2021.3.11f1
  • Firebase Unity插件版本:10.7.0(已尝试.unitypackage和Package Manager两种安装方式)

依赖检查结果:

  • Android依赖解析器下载的AAR包含:
    • com.google.firebase.firebase-database-20.2.0.aar
    • com.google.firebase.firebase-appcheck-interop-17.0.0.aar
  • 查看firebase-appcheck-interop-17.0.0.aar,仅存在InteropAppCheckTokenProvider类,不存在报错中要求的InternalAppCheckTokenProvider类

问题原因

这是Firebase Android SDK依赖版本不兼容导致的:
Firebase Database 20.2.0版本依赖的InternalAppCheckTokenProvider类,在firebase-appcheck-interop 17.0.0版本中已被重命名为InteropAppCheckTokenProvider,而Firebase Unity插件10.7.0的依赖映射逻辑出现错误,拉取了不匹配的appcheck-interop版本,最终引发类找不到异常。

解决步骤

  1. 强制指定兼容的appcheck-interop版本
    在Unity项目中,打开Player Settings > Android > Publishing Settings,勾选Custom Main Gradle Template生成Assets/Plugins/Android/mainTemplate.gradle文件,然后在该文件的dependencies块中添加强制依赖配置:

    dependencies {
        // 指定与firebase-database 20.2.0兼容的版本
        implementation 'com.google.firebase:firebase-appcheck-interop:16.1.2'
    }
    
  2. 清理缓存后重新构建

    • 删除项目根目录下的Library、Temp文件夹
    • 删除Assets/Plugins/Android目录下的缓存AAR文件
    • 重启Unity后重新执行Android构建
  3. 降级Firebase Unity插件版本
    如果上述方法无效,可尝试降级到Firebase Unity插件10.6.0或更早版本,这些版本的依赖映射逻辑已修复该版本冲突问题。

是否需要提交Bug?

需要。该问题属于Firebase Unity插件的依赖版本映射错误,建议通过Firebase官方反馈渠道提交Bug,提交时需包含:

  • Unity版本和Firebase插件版本
  • 完整报错日志
  • 已确认的依赖AAR版本信息
  • 已尝试的解决方法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 15:03:38