Firebase Crashlytics无法识别应用 配置后无崩溃上报如何解决
排查解决步骤
- 检查
google-services.json文件
确认你app目录下的该文件是当前Firebase项目最新导出的版本,包名和你应用的applicationId完全匹配,若你近期修改过Firebase项目配置或者调整过应用包名/渠道后缀,必须重新下载替换该文件。 - 确认无Crashlytics禁用配置
检查应用级build.gradle中没有添加ext.enableCrashlytics = false或者firebaseCrashlytics { mappingFileUploadEnabled false }这类禁用debug版本上报的配置,测试阶段不要关闭上报开关。 - 按规范触发崩溃上报
手动触发崩溃后,需要完全关闭应用进程,再重新启动应用,Crashlytics才会将缓存的崩溃日志上传到控制台,不要崩溃后直接通过IDE重新覆盖安装应用,会导致日志丢失。 - 排查网络拦截问题
确认应用已经添加INTERNET权限,测试设备没有开启代理、VPN或者防火墙拦截Firebase的上报请求,国内网络环境测试需要使用可访问Google服务的网络。 - 开启调试日志定位问题
在应用Application类的onCreate方法中添加以下代码开启调试:
之后连接adb,过滤// 强制开启Crashlytics收集 FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true); // 主动上报未发送的日志 FirebaseCrashlytics.getInstance().sendUnsentReports();Crashlytics标签的日志,查看上报时的具体错误:如果返回403错误则证明身份验证失败,需要重新核对google-services.json;如果提示网络错误则是网络拦截问题。 - 升级依赖版本
你当前使用的Firebase BOM版本为28.4.2,版本较旧,可升级到最新稳定版BOM,避免旧版本已知的上报异常问题。
内容的提问来源于stack exchange,提问作者Shachar87
相关产品推荐
相关产品推荐

