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

Android 12上Firebase Auth登录崩溃PendingIntent标志错误修复方案

解决方案

这个崩溃的核心原因是firebase-ui-auth:8.0.0默认拉取的传递依赖版本过低:其绑定的firebase-auth20.x版本、play-services-auth19.x版本均未适配Android 12(API 31+)对PendingIntent的标记强制要求,崩溃点发生在依赖内部,修改自身业务代码的PendingIntent逻辑无法解决问题。

按优先级尝试以下方案:

  • 强制覆盖底层依赖版本(最快生效,无需升级firebase-ui版本)
    在模块级build.gradle中保留原有firebase-ui-auth依赖的同时,手动引入适配了Android 12的高版本核心依赖,覆盖默认的低版本传递依赖:

    implementation "com.firebaseui:firebase-ui-auth:8.0.0"
    // 强制指定适配Android 12的底层依赖版本
    implementation "com.google.firebase:firebase-auth:21.0.1"
    implementation "com.google.android.gms:play-services-auth:20.2.0"
    implementation "com.google.android.gms:play-services-base:18.0.1"
    

    如果你使用Firebase BoM管理依赖版本,请确保BoM版本号不低于29.0.0,该版本及以上的BoM默认绑定的firebase-auth版本已经完成Android 12适配。

  • 若覆盖依赖后出现版本兼容冲突,直接升级firebase-ui-auth到已修复适配问题的版本:

    implementation "com.firebaseui:firebase-ui-auth:8.0.2"
    

    8.0.1及以上版本的firebase-ui-auth已经将底层依赖升级到符合Android 12要求的版本,不会再触发该PendingIntent崩溃。

  • 如果以上操作后仍存在依赖版本被旧库拉低的情况,添加全局依赖解析强制规则,确保所有相关依赖使用适配版本:

    android {
        // 你的其他现有配置
    }
    configurations.all {
        resolutionStrategy {
            force 'com.google.firebase:firebase-auth:21.0.1'
            force 'com.google.android.gms:play-services-auth:20.2.0'
            force 'com.google.android.gms:play-services-base:18.0.1'
        }
    }
    

    修改完成后执行Gradle sync,清理构建缓存后重新运行即可。

问题反馈渠道

如果确认是SDK本身未修复的新问题,可以通过两个官方渠道反馈:

  • 在Firebase官方开源SDK的GitHub仓库提交Issue,附上完整崩溃日志、依赖配置、最小复现步骤,SDK维护团队会直接跟进
  • 在Google Issue Tracker的Firebase Authentication分类下提交反馈,该渠道的问题会进入官方Bug处理队列,附可复现Demo的问题优先级会更高

注:该PendingIntent适配问题在2021年Android 12正式发布时就已经在Firebase核心Auth库中完成修复,不需要等待新的补丁版本,只要修正依赖版本即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:57:13