Flutter不能热加载,热重载按钮为灰色

前言,Flutter的热重载(hot reload)功能可以帮助您在无需重新启动应用的情况下快速、轻松地进行测试、构建用户界面、添加功能以及修复错误。

通过将更新后的源代码文件注入正在运行的Dart虚拟机(VM)中来实现热重载。

在虚拟机使用新的的字段和函数更新类后,Flutter框架会自动重新构建widget树,以便您快速查看更改的效果。

要热重载一个Flutter应用程序:

  1. 从受支持的IntelliJ IDE 、Android Studio 或终端窗口运行应用程序。物理机或虚拟器都可以运行。
  2. 修改项目中的一个Dart文件。大多数类型的代码更改可以重新加载; 有关需要完全重新启动的更改列表,请参阅限制
  3. 如果您使用的是IntelliJ IDE 、Android Studio ,请选择Save All (cmd-s/ctrl-s)),或者单击工具栏上的Hot Reload按钮。

一、现象:

Flutter 不能热加载 热重载按钮灰色,无法点击。

二、分析原因:

终端flutter doctor 显示 NO_PROXY is not set

没有设置无代理的端口

~ flutter doctor

Doctor summary (to see all details, run flutter doctor -v):

[✓] Flutter(Channel stable, v1.7.8, on Mac OS X 10.14.3 18D109, locale zh-Hans-CN)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.1)

[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)

[✓] iOS tools - develop for iOS devices

[✓] Android Studio (version 3.5)

[✓] VS Code (version 1.41.1)

[!] Proxy Configuration

! NO_PROXY is not set

[✓] Connected device (1 available)

! Doctor found issues in 1 category.

重点在于:NO_PROXY is not set

三、解决方案:

设置 NO_PROXY即可

1.启动终端

2.进入当前用户的home目录

cd ~ 或者 cd /users/YourMacUserName

3.输入touch .bash_profile

查看和编辑.bash_profile文件

1.终端输入open -e .bash_profile

2.编辑文件,新增

1
export no_proxy="localhost,127.0.0.1"

3.关闭保存

最后更新配置的环境变量

输入:

1
source .bash_profile

不懂这块的话,看这里设置Mac 终端走代理

操作如下:

~ cd ~

~ touch .bash_profile

~ open -e .bash_profile

~ source .bash_profile

~ flutter doctor

Doctor summary (to see all details, run flutter doctor -v):

[✓] Flutter (Channel stable, v1.7.8, on Mac OS X 10.14.3 18D109, locale zh-Hans-CN)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.1)

[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)

[✓] iOS tools - develop for iOS devices

[✓] Android Studio (version 3.5)

[✓] VS Code (version 1.41.1)

[✓] Proxy Configuration

[✓] Connected device (1 available)

• No issues found!

~

四、验证

运行时,热重载按钮变为橙色,可以点击。

快捷键保存编辑时,自动重载。

坚持原创技术分享,您的支持将鼓励我继续创作!