Flutter 3.24.1更新后编译失败:WidgetStateProperty冲突报错
Flutter 3.24.1编译失败:WidgetStateProperty冲突问题解决
升级Flutter到3.24.1版本后出现编译失败,核心错误为WidgetStateProperty从material_state.dart和widget_state.dart两个路径重复导出/导入,同时存在typedef自引用错误,最终导致kernel_snapshot_program执行失败,触发app:compileFlutterBuildDevDebug任务失败。具体报错日志如下:
../../../../../../../fvm/versions/3.24.1/packages/flutter/lib/material.dart:196:1: 错误:'WidgetStateProperty'同时从'package:flutter/src/material/material_state.dart'和'package:flutter/src/widgets/widget_state.dart'导出。 export 'widgets.dart'; ../../../../../../../fvm/versions/3.24.1/packages/flutter/lib/src/material/material_state.dart:430:9: 错误:typedef 'WidgetStateProperty'存在自引用。 typedef WidgetStateProperty = WidgetStateProperty; ^ ../../../../../../../fvm/versions/3.24.1/packages/flutter/lib/src/material/action_chip.dart:13:1: 错误:'WidgetStateProperty'同时从'package:flutter/src/material/material_state.dart'和'package:flutter/src/widgets/widget_state.dart'导入。 import 'material_state.dart'; ^^^^^^^^^^^^^^^^^^^ ../../../../../../../fvm/versions/3.24.1/packages/flutter/lib/src/material/bottom_navigation_bar_theme.dart:11:1: 错误:'WidgetStateProperty'同时从'package:flutter/src/material/material_state.dart'和'package:flutter/src/widgets/widget_state.dart'导入。 import 'material_state.dart'; ^^^^^^^^^^^^^^^^^^^ 目标kernel_snapshot_program执行失败,最终导致:app:compileFlutterBuildDevDebug任务执行失败。
解决步骤
清理编译缓存
先清理项目缓存和依赖,重新获取资源:flutter clean flutter pub get如果你用FVM管理版本,执行:
fvm flutter clean fvm flutter pub get重新安装Flutter 3.24.1 SDK
报错大概率是FVM下载的SDK包损坏,删除现有版本后重新安装:fvm remove 3.24.1 fvm install 3.24.1规范代码导入
检查项目代码,避免同时导入material_state.dart和widget_state.dart内部文件,统一使用标准导入:import 'package:flutter/material.dart'; // 或根据需要导入widgets包 import 'package:flutter/widgets.dart';更新项目依赖
升级所有依赖到兼容Flutter 3.24.1的版本:flutter pub upgrade --major-versions检查
pubspec.yaml中的依赖项,确认没有依赖包使用了过时的WidgetState相关API。切换到稳定分支(备选)
如果上述方法都无效,尝试切换到Flutter稳定分支:fvm install stable fvm use stable
内容的提问来源于stack exchange,提问作者Heri Sarwanto
相关产品推荐
相关产品推荐

