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

Android Studio运行Flutter项目时自建文件错误行号打印异常问题

故障原因

  • 两份文件字面代码一致但非可见的格式配置不同,导致Dart编译器生成的行号调试映射表出错,是该问题的核心诱因:
    1. 换行符格式不匹配:Windows环境下Android Studio默认新建文件采用CRLF(两个字符表示一次换行)作为行尾标记,而从其他项目复制的文件通常使用跨平台通用的LF(单个字符表示一次换行)。部分版本的Flutter SDK处理CRLF换行的文件时存在行号计数缺陷,会出现行号偏移,最终错误将问题定位到第一行。
    2. UTF-8 BOM头干扰:部分Windows环境的Android Studio默认会给新建文件添加3字节的UTF-8 BOM头(文件开头的隐藏标识字节),Dart编译器处理该类文件时会将BOM头计入文件偏移但不计入行号统计,直接导致所有行号映射错位。
  • 增量编译缓存异常也可能触发该问题:首次使用新建文件时未清理编译缓存直接运行,Flutter会生成错误的行号映射文件,导致定位失效。

修复方法

  1. 统一换行符格式:在Android Studio右下角查看当前文件的行尾序列,将新建文件的行尾序列修改为LF,执行flutter clean清理缓存后重新运行验证。
  2. 移除BOM头:在Android Studio顶部菜单栏的文件编码设置中,将当前文件编码改为UTF-8 不带BOM,重新编译即可。
  3. 深度清理缓存:如果上述操作后仍未恢复,手动删除项目根目录下的build、.dart_tool文件夹后重新运行项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:36:04