Firebase DebugView如何移除生产项目中的Flutter调试设备?
解决方案
移除生产环境Firebase项目中误注册的调试设备
Firebase控制台没有提供手动删除调试设备的入口,需要通过清除设备端的调试绑定标记完成移除,操作如下:
- 打开生产环境Firebase控制台,进入对应项目的「Analytics > DebugView」页面,在顶部设备下拉列表确认目标设备当前处于在线上报状态
- 在测试设备上彻底卸载所有已安装的该应用变体(dev、prod版本全部卸载),清除应用本地缓存
- 执行adb命令清空设备全局的Firebase调试绑定配置:
adb shell setprop debug.firebase.analytics.app .none.
- 等待1-2分钟后刷新prod项目的DebugView页面,目标设备就会从列表中移除,后续不会再向生产环境上报调试数据。
修复多环境配置,避免dev风味调试数据串到生产项目
你当前的配置仅区分了应用名和包名后缀,没有隔离两个环境的Firebase连接配置,这是dev包上报到生产项目的核心原因,按以下步骤修正:
- 分别下载两个Firebase项目的
google-services.json配置文件:- prod环境配置文件放到
app/src/prod/目录下 - dev环境配置文件放到
app/src/dev/目录下
不要将任意一个配置文件放到app/通用根目录,防止构建时被不同风味错误复用
- prod环境配置文件放到
- 确认项目级依赖的google-services插件版本不低于4.3.3,该版本会自动匹配当前构建风味对应目录下的配置文件,无需额外编写路径映射规则
- 切换风味构建前先执行清理命令,避免旧构建缓存导致配置串用:
flutter clean flutter pub get
- 安装dev风味调试包后,执行以下命令绑定dev环境的调试上报,此时设备只会出现在dev项目的DebugView列表中:
adb shell setprop debug.firebase.analytics.app 你的dev包名(原包名加.dev后缀)
之前如果手动执行过绑定prod包名的adb调试命令,系统属性会持久保留,必须先执行
.none.参数的清空命令,再重新绑定dev包名,否则仍然会向生产环境上报数据。
内容的提问来源于stack exchange,提问作者Jakub Lebiedziński
相关产品推荐
相关产品推荐

