Flutter v1.22.5非空安全旧安卓应用初始化Firebase报MissingPluginException错误
问题根因
你当前使用的Android原生Firebase BOM版本(28.4.2)和Flutter侧旧版Firebase插件不匹配,导致插件原生端实现没有正确注册,触发MissingPluginException异常。
解决步骤
1. 降级Firebase BOM版本
打开应用级android/app/build.gradle文件,修改dependencies块里的BOM版本号:
// 把原来的com.google.firebase:firebase-bom:28.4.2替换为26.8.0 implementation platform('com.google.firebase:firebase-bom:26.8.0')
其余原生Firebase依赖声明不需要修改。
2. 清理所有缓存重新构建
按顺序执行以下操作:
- 运行
flutter clean清理项目构建缓存 - 手动删除
android/.gradle目录下的所有内容,清除Gradle缓存 - 运行
flutter pub get重新拉取依赖 - 重启模拟器后重新运行应用
异常情况排查
如果以上操作后问题依然存在,检查以下配置:
- 确认
google-services.json文件放在android/app目录下,没有放错层级 - 确认安卓入口
MainActivity继承自FlutterActivity,没有自定义逻辑导致Flutter插件注册被拦截 - 如果开启了代码混淆,在
proguard-rules.pro中添加规则保留Flutter Firebase插件类:
-keep class io.flutter.plugins.firebase.** { *; }
内容的提问来源于stack exchange,提问作者Jorge Rincón Arias
相关产品推荐
相关产品推荐

