Flutter应用运行报错:MissingPluginException(path_provider与firebase_messaging)
解决Flutter的MissingPluginException问题
你遇到的两个错误都是典型的MissingPluginException,本质是Flutter插件的原生(Android/iOS)实现没正确链接到项目中,试试下面这些步骤来修复:
一、基础依赖重置操作
这是解决这类问题最常用的第一步,先把项目依赖彻底重置一遍:
- 执行清理命令:
flutter clean,清空项目缓存和构建产物 - 重新拉取依赖:
flutter pub get - 针对不同平台做额外操作:
- Android:重启Android Studio,然后点击工具栏的「Sync Project with Gradle Files」按钮,确保Gradle同步完成
- iOS:打开终端进入项目的
ios目录,执行pod install;如果之前有缓存残留问题,可以先跑pod deintegrate再重新执行pod install
二、检查插件版本兼容性
从你的pubspec.yaml依赖来看,部分插件版本可能存在兼容性问题:
- 比如
firebase_messaging: 6.0.9和firebase_core: 0.4.4+3属于较旧的版本,建议升级到同系列的稳定兼容版本(比如先把firebase_core升级到最新稳定版,再同步其他Firebase插件的版本) google_fonts:1.0.0依赖的path_provider版本可能也比较旧,升级google_fonts到最新版也能间接解决path_provider的链接问题
三、平台端配置检查
Android端
- 确认
android/app目录下已经正确放置了google-services.json文件(从Firebase控制台下载的配置文件) - 检查
android/app/build.gradle文件末尾是否有apply plugin: 'com.google.gms.google-services'这行代码 - 确保
android/build.gradle中已经添加了Google服务的依赖:dependencies { classpath 'com.google.gms:google-services:4.3.10' // 或更高稳定版本 }
iOS端
- 确认
ios/Runner目录下已经正确放置了GoogleService-Info.plist文件 - 检查
ios/Podfile中的平台版本是否满足插件要求,比如设置platform :ios, '10.0'(部分新插件要求iOS 10及以上) - 如果是推送相关问题,确保
ios/Runner/Info.plist中添加了推送权限配置:<key>NSRemoteNotificationUsageDescription</key> <string>需要推送通知来接收消息</string>
四、最后一步:重启环境
完成上面的操作后,彻底关闭你的IDE(Android Studio/Xcode)和模拟器/真机,然后重新打开项目并运行,通常插件的原生实现就会被正确链接了。
内容的提问来源于stack exchange,提问作者Fifis
相关产品推荐
相关产品推荐

