Flutter升级后出现CupertinoLocalizations.clearButtonLabel未定义错误
核心原因
这个错误是因为Flutter SDK内部的Cupertino本地化类中缺少clearButtonLabel属性,大概率是本地Flutter SDK文件损坏,或是升级过程中出现了文件丢失、不完整的情况。
解决方案
重新覆盖Flutter SDK
- 备份
C:\flutter\.pub-cache文件夹(避免重新下载依赖耗时) - 下载对应稳定版本的Flutter SDK包
- 解压后覆盖本地
C:\flutter目录,再将备份的pub-cache放回原位置
- 备份
切换到稳定版Flutter
如果是升级到开发/测试版导致的API变更,执行命令切回稳定版:flutter channel stable flutter upgrade彻底清理并重置依赖
执行以下命令清理缓存并重新获取依赖:flutter clean flutter pub cache clean flutter pub get验证本地化配置
确保pubspec.yaml包含本地化依赖:dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter同时在
main.dart中配置本地化代理:import 'package:flutter_localizations/flutter_localizations.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( localizationsDelegates: const [ GlobalCupertinoLocalizations.delegate, GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ], supportedLocales: const [ Locale('en', 'US'), Locale('zh', 'CN'), ], home: const HomePage(), ); } }清理IDE缓存
- Android Studio/IntelliJ:执行
File -> Invalidate Caches...,选择Invalidate and Restart - VS Code:按
Ctrl+Shift+P输入Reload Window重启窗口
- Android Studio/IntelliJ:执行
内容的提问来源于stack exchange,提问作者Dana Mantk
相关产品推荐
相关产品推荐

