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

上传应用至Google Play Store后Firebase Database崩溃问题求助

Firebase Database 拉取崩溃导致审核驳回排查方案

你已完成全环境SHA-1配置、手机号OTP验证流程正常,说明Firebase Auth链路基础配置无问题,崩溃集中在Realtime Database数据拉取节点,按以下优先级逐一排查修复即可:

  • 校验SHA-1配置完整性,更新本地配置文件
    不要只添加本地release、debug签名的SHA-1,Google Play审核团队安装的是经Google Play App Signing重签名后的包,你需要在Google Play Console的「应用完整性」页面,把应用签名密钥证书、上传密钥证书两组SHA-1值,全部添加到Firebase项目对应Android应用的SHA指纹列表中。
    所有指纹添加完成后,重新下载最新版google-services.json文件,替换项目app模块目录下的旧配置文件,未替换配置文件的情况下SHA修改不会生效。
  • 校验Realtime Database权限规则
    OTP登录成功不代表对应数据节点有读权限,进入Firebase控制台Realtime Database的规则面板,检查规则配置:
    若业务要求登录用户可读指定节点,规则参考如下配置:
    {
      "rules": {
        "对应业务数据根节点": {
          ".read": "auth != null",
          ".write": "auth != null"
        }
      }
    }
    
    常见配置错误包括规则路径和实际请求路径不匹配、规则限制仅特定UID可访问、默认规则设为全部拒绝,都会导致权限校验失败。你可以直接用控制台内置的规则模拟器,输入测试手机号登录后的UID,模拟读取崩溃对应的数据节点,确认权限校验通过。
  • 抓取崩溃栈定位具体代码问题
    打和审核环境签名一致的release包,通过Android Studio Logcat连接真机复现操作,根据崩溃栈针对性修复:
    • 若报FirebaseDatabaseException: Permission denied:回到上一步检查规则、SHA配置,确认配置修改后已等待10-15分钟(Firebase配置变更存在生效延迟)
    • 若报空指针、类型转换异常:检查数据解析逻辑,DataSnapshot对应节点无数据时会返回null,未做判空直接强转、赋值就会触发崩溃;如果是release包混淆导致实体类反序列化失败,需要在混淆配置文件中添加实体类keep规则:
      -keep class 你的业务实体类所在包名.** { *; }
      
    • 若报网络相关异常:检查release包是否声明了INTERNET权限,确认network-security-config配置未拦截Firebase相关域名请求。
  • 提交前全流程验证
    所有修改完成后,用正式签名打release安装包,完整走通「测试手机号OTP登录→进入对应Activity拉取数据」的全流程,确认无崩溃、数据正常加载后再提交审核。

注意:不要用debug包的测试结果代替release包验证,debug包默认关闭混淆、签名和正式环境不一致,很多问题只会在release环境触发。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 06:15:39