Flutter运行安卓端报cannot find symbol LoadBundleTaskProgress错误如何解决
问题原因
该编译错误由Android端Firebase原生SDK版本不匹配导致,你的pubspec.yaml中同时引入了移动端专用的官方FlutterFire系列插件(cloud_firestore、firebase_core、firebase_auth)和仅适用于Web平台的firebase: ^9.0.2包,二者的原生依赖版本存在冲突,导致cloud_firestore插件找不到对应版本的Firestore原生类和方法。
解决步骤
- 第一步:移除冗余依赖
打开pubspec.yaml文件,删除firebase: ^9.0.2这一行配置,该包仅用于Flutter Web场景,移动端开发无需引入,和官方移动端Firebase插件存在版本冲突。 - 第二步:清理项目缓存并重新拉取依赖
依次执行以下命令:
flutter clean flutter pub get
- 第三步:调整Android端基础配置(前两步执行后仍报错时操作)
- 打开
android/build.gradle文件,确保谷歌服务插件版本不低于4.3.10,参考配置:
dependencies { classpath 'com.android.tools.build:gradle:4.1.0' classpath "com.google.gms:google-services:4.3.10" }- 打开
android/app/build.gradle文件,将最低兼容SDK版本调整为21及以上,cloud_firestore 2.x版本要求minSdkVersion不低于21:
defaultConfig { // 其余原有配置保留 minSdkVersion 21 } - 打开
- 可选修复步骤:若上述操作全部执行后仍报错,执行
flutter pub cache repair修复损坏的Pub缓存包,再重新拉取依赖运行项目即可。
内容的提问来源于stack exchange,提问作者user13314915
相关产品推荐
相关产品推荐

