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

升级Flutter至2.5.0/2.5.3版本后network.g文件无法生成问题咨询

Flutter 2.5.x 版本升级后 network.g 文件生成失败解决方案

问题复现前提

  • Flutter 版本升级至 2.5.0 / 2.5.3
  • dio、retrofit、retrofit_generator、build_runner 均已升级至兼容的最新版本
  • 执行 flutter pub run build_runner build 后无对应 .g 文件生成,无明确报错或仅提示构建成功但无输出文件

可行解决方案

按优先级逐一尝试:

  1. 清理缓存并强制重建
    按顺序执行以下命令:

    flutter clean
    rm -rf pubspec.lock
    flutter pub get
    flutter pub run build_runner build --delete-conflicting-outputs
    

    --delete-conflicting-outputs 参数会自动覆盖旧的生成文件,避免隐性冲突导致的生成逻辑被跳过

  2. 检查 retrofit 注解写法合规性
    Flutter 2.5.x 对应 Dart 版本为 2.14.x,配套的高版本 retrofit_generator 对注解校验更严格:

    • 确认所有请求方法注解(@GET/@POST等)都已指定请求路径,不可留空
    • 确认请求抽象类前已添加 @RestApi() 注解,不可省略括号
    • 确认方法返回值写法为 Future<Response<你的实体类>> 或 Future<你的实体类>,无语法错误
    • 所有自定义实体类已添加 @JsonSerializable() 注解,对应实体类的 .g.dart 可正常生成
  3. 调整依赖版本到兼容范围
    即使所有依赖都是最新版,也可能存在跨包兼容问题,Flutter 2.5.3 推荐的稳定兼容依赖版本参考:

    • dio: ^4.0.6
    • retrofit: ^3.3.1
    • retrofit_generator: ^4.2.0
    • build_runner: ^2.4.6
    • json_serializable: ^6.7.1
      若最新版本适配异常,可回退到上述版本范围测试
  4. 检查 build.yaml 过滤规则
    如果项目根目录存在 build.yaml 配置文件,确认没有配置过滤规则跳过了你存放 network 相关文件的目录,可暂时移除 build.yaml 后重新构建测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:57:06