【问题标题】:Flutter App in Android Studio doesn't get updated on virtual device by hot reload or hot restartAndroid Studio 中的 Flutter App 不会通过热重载或热重启在虚拟设备上更新
【发布时间】:2021-03-21 07:08:05
【问题描述】:

我有一个 Flutter 应用程序,我正在 Windows 10 机器上的 Android Studio 中开发。Android Studio 和 Flutter SDK 是最新的稳定版本。

我正在运行 Pixel 2 手机作为 AVD 来测试应用程序,但突然热重载和热重启将不再更新应用程序。

例如,如果我更改浮动操作按钮的图标,该图标通常会在热重载或热重启后更改。 现在更改仅在我冷重启后可见。

似乎热重启/热重载不会更新虚拟设备上的应用程序。

我尝试从控制台运行热重载,但这也不起作用。 我重置了 AVD,创建了一个新的,甚至删除并重新安装了 Anroid Studio。没有效果。 应用在冷重启之前不会改变。

有没有办法恢复以前的行为?

编辑:

我找到了问题的诱因,但还没有找到原因或解决方案。 这似乎是一个重构问题。 在旧版本的代码中,热重载/重启没有问题。在开发过程中,我将一个 dart 文件移到了一个新的子目录中。从 /lib/app 到 /lib/app/home 并让 Android Studio 将源代码中的所有引用调整到此文件。之后,可以编译并启动应用程序,但热重载/重启不再起作用。
作为一种解决方法,我现在复制了文件而不是移动它并删除了旧文件,但我仍然想知道究竟是什么问题。

【问题讨论】:

  • 如果你改变了const变量,它需要完全重启,因为consts在编译时被初始化了
  • 不是const变量,是脚手架appbar的标题文本或者脚手架浮动动作按钮的图标

标签: android-studio flutter windows-10 avd hot-reload


【解决方案1】:

您是否尝试过在您的 Flutter 项目中运行“flutter clean”?

【讨论】:

  • 试过了,还是没有效果。模拟器上的应用只在冷重启后更新,而在热重载或热重启后没有变化。
  • 您是否尝试过使用其他 AVD,例如 Pixel 3 或 Pixel 3a?
  • 是的,我试过 Pixel 1 和 Nexus 6。同样的问题。可能是重构问题,请参阅我的编辑。
猜你喜欢
  • 2020-07-13
  • 2018-10-06
  • 1970-01-01
  • 2021-05-16
  • 2020-02-23
  • 2016-10-10
  • 2021-10-02
  • 2020-09-17
相关资源
最近更新 更多