You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter报basicLocaleListResolution重复导入导致构建失败如何解决?

问题核心

该报错由命名冲突导致:你使用的device_preview:0.5.5版本自带了basicLocaleListResolution方法,与高于2.5版本的Flutter SDK中app.dart内置的同名方法导入冲突。

解决方案

方案1:升级device_preview版本(优先推荐)

该冲突在新版device_preview中已被官方修复,直接修改项目pubspec.yaml中的依赖版本即可:

dependencies:
  device_preview: ^1.1.0 # 可替换为当前最新兼容版本

修改后依次执行命令:

  • flutter clean
  • flutter pub get
  • flutter run

方案2:临时修改冲突源码(仅用于无法升级依赖的场景)

直接修改报错指向的store.dart文件(路径:/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/device_preview-0.5.5/lib/src/state/store.dart):

  1. 找到文件头部的两个导入语句,给其中一个加前缀区分:
import 'package:flutter/src/widgets/app.dart';
import 'package:device_preview/src/locales/locales.dart' as device_locale;
  1. 找到报错的第74行,给调用的方法加上对应前缀,明确调用device_preview自带的方法:
final defaultLocale = device_locale.basicLocaleListResolution(

修改后重新执行flutter run即可。


方案3:依赖隐藏处理冲突

如果你的项目不需要用到device_preview的多语言功能,可以在项目引入device_preview的位置添加hide参数屏蔽冲突方法:

import 'package:device_preview/device_preview.dart' hide basicLocaleListResolution;

内容的提问来源于stack exchange,提问作者berat berk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:39:02