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

Flutter本地包修改后热重载/热重启不生效问题求助

解决Flutter本地包修改后热重载/热重启不生效的问题

检查本地包的依赖声明方式

确保主项目pubspec.yaml中用路径依赖而非版本号依赖——版本号依赖会优先读取缓存或仓库包,不会监听本地修改。正确写法:

dependencies:
  your_local_package:
    path: ../path/to/your_local_package

改完后执行flutter pub get刷新依赖。

核对本地包的基础配置

  • 确认本地包pubspec.yaml的name字段和主项目依赖里的包名完全一致,大小写、拼写不能出错。
  • 检查本地包是否存在特殊配置(比如错误的publish_to设置)导致缓存冲突。

彻底清除缓存(比flutter clean更深入)

  1. 执行flutter clean
  2. 删除主项目和本地包下的.dart_tool、build文件夹
  3. 执行flutter pub get重新拉取依赖
  4. 重启IDE(缓存可能驻留在IDE进程中,单纯重启应用没用)

确认代码变更类型适配热重载

  • 热重载仅对Dart代码变更生效,若修改了本地包的原生代码(Android Kotlin/Java、iOS Swift/OC),必须冷重启(停止应用后重新flutter run)。
  • 若修改的是根组件、全局初始化逻辑这类代码,热重载也无法生效,需冷重启。

检查IDE调试配置

如果用VS Code的launch.json,确保没有禁用热重载的参数:

{
  "configurations": [
    {
      "name": "Flutter",
      "request": "launch",
      "type": "dart",
      // 删掉类似 "--no-hot-reload" 的禁用参数
    }
  ]
}

Android Studio用户可检查是否开启了旧版的"Instant Run",并确保Flutter插件为最新版本。

验证本地包代码的实际引用

在主项目使用本地包的代码处,按住Ctrl/Command点击导入路径,确认跳转至本地包的文件,而非缓存或仓库中的同名包。

用verbose模式排查依赖加载

执行flutter run -v,在日志中搜索本地包名称,查看是否有类似以下的加载日志:

[ +1 ms] Found plugin your_local_package at ../path/to/your_local_package/

若没有这类日志,说明依赖未正确加载,需重新检查pubspec.yaml的路径配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 13:47:09