Flutter用Provider连接Firebase应用 注册Firestore调试遇providerinstaller模块缺失错误
Flutter接入Firebase Firestore ProviderInstaller模块加载失败报错解决方案
报错堆栈信息:
W/DynamiteModule( 2822): Local module descriptor class for providerinstaller not found.
I/DynamiteModule( 2822): Considering local module providerinstaller:0 and remote module providerinstaller:0
W/ProviderInstaller( 2822): Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
该报错为安卓端Firebase运行依赖异常导致,和Provider状态管理逻辑无关,无需修改Provider相关业务代码,可按照以下步骤排查解决:
1. 调试环境排查(占80%以上报错场景)
- 如果你使用安卓模拟器调试:需要选择带Google Play标识的系统镜像,不要使用纯AOSP无服务的镜像。启动模拟器后进入系统设置,找到Google Play选项,将其更新到最新版本后重启模拟器再调试
- 如果你使用安卓真机调试:检查设备是否内置了可用的Google Play服务,部分国行安卓系统默认未安装Google服务框架,需要先安装对应架构的Google服务套件才能正常运行Firebase相关功能
2. 项目Firebase配置排查
- 确认安卓项目
android/app/目录下已经放入从Firebase控制台下载的google-services.json文件,文件内的应用包名和你当前项目的安卓包名完全匹配 - 检查
android/build.gradle文件的dependencies块中是否添加了google-services插件依赖:
dependencies { // 可替换为当前最新稳定版本 classpath 'com.google.gms:google-services:4.3.15' }
- 检查
android/app/build.gradle文件末尾是否添加了插件应用声明:
apply plugin: 'com.google.gms.google-services'
- 推荐使用官方
flutterfire configure命令自动生成项目配置,避免手动修改依赖版本导致的兼容性问题
3. 缓存清理重试
如果上述配置都确认无误,执行以下命令清理缓存后重新构建:
- 清理Flutter项目缓存:
flutter clean - 重新拉取项目依赖:
flutter pub get - 清理安卓端构建缓存:
- Mac/Linux系统执行:
cd android && ./gradlew clean - Windows系统执行:
cd android && gradlew clean
- Mac/Linux系统执行:
- 重新启动项目调试即可
内容的提问来源于stack exchange,提问作者Cheetech
相关产品推荐
相关产品推荐

