如何解决Flutter运行Android应用时出现的':app:compileFlutterBuildDebug'任务执行失败问题
解决Flutter Run时的API兼容错误
看起来你遇到的是Flutter版本变动后,旧第三方依赖库不兼容新API的问题——昨天还能正常运行,今天突然报错,大概率是Flutter自动更新了,或者本地环境的Flutter版本有变动,导致老版本的provider和flutter_svg调用了已经被废弃/移除的Flutter API。
错误原因拆解
provider:3.2.0调用的inheritFromElement、inheritFromWidgetOfExactType、ancestorInheritedElementForWidgetOfExactType这些方法,在新版Flutter中已经被重命名或移除(比如替换成dependOnInheritedWidgetOfExactType类新API)flutter_svg:0.18.1使用的Localizations.localeOf(context, nullOk: true)里的nullOk参数,新版Flutter已经移除,改为了其他替代写法
解决步骤
升级不兼容的依赖库
打开项目根目录的pubspec.yaml文件,修改以下依赖的版本号:- 将
provider: ^3.2.0替换为兼容当前Flutter版本的稳定版,比如:provider: ^6.0.5 - 将
flutter_svg: ^0.18.1替换为最新稳定版:flutter_svg: ^2.0.7
或者直接在终端运行命令自动升级到兼容版本:
flutter pub upgrade provider flutter_svg- 将
清理项目缓存并重新获取依赖
在终端依次执行:flutter clean flutter pub get重新运行项目
再次执行flutter run,应该就能正常编译运行了。
额外排查(如果上述步骤无效)
如果还是报错,运行flutter pub outdated查看项目中所有依赖的版本状态,检查是否还有其他老旧依赖存在兼容问题,逐一升级即可。
内容的提问来源于stack exchange,提问作者Davrick
相关产品推荐
相关产品推荐

