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

Flutter应用国际化后运行报错Oops; flutter has exited unexpectedly

报错触发原因

这个Error on line 8, column 2: Expected ':'报错和你贴出的Dart业务代码无关,问题出在国际化配套的配置文件语法错误:
Flutter官方的国际化方案依赖ARB格式的语言包文件(默认存放在lib/l10n/目录下),或者根目录下的l10n.yaml全局配置文件,上述两个文件任意一个出现JSON/YAML语法错误,比如漏写键值对之间的冒号、符号用了全角格式、引号未闭合等,都会在flutter gen-l10n自动生成代码阶段抛出该报错。你昨日运行正常,大概率是今日修改过上述配置文件时不小心写错了语法。

排查解决步骤
  • 优先检查lib/l10n/目录下所有.arb后缀的文件,找到第8行的内容,确认键名和对应值之间有没有写英文冒号:,正确的ARB键值对写法示例:
    "helloWorld": "Hello World",
    "@helloWorld": {
      "description": "The conventional newborn programmer greeting"
    }
    
    重点排查是否漏写冒号、存在多余的尾随逗号、引号未闭合的问题。
  • 如果ARB文件检查无异常,再检查项目根目录下的l10n.yaml配置文件的第8行,确认YAML格式是否合法,冒号、缩进是否符合要求。
  • 配置文件语法修正完成后,依次执行以下命令清理缓存并重新生成国际化代码:
    flutter clean
    flutter pub get
    flutter gen-l10n
    
  • 执行完成后重新运行项目,报错即可解决。

内容的提问来源于stack exchange,提问作者Moe Khaled

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:06:03