单纯的flutter项目时,是可以热加载的。但是,当和原生一起混合开发时,热加载功能失效了。

下面来解决这个问题:

1、确定电脑打开了一个以上的模拟器,或者手机连接了电脑

flutter EasyRefresh加载完成footer消失 flutter 热加载_flutter

2、打开的模拟器或者手机杀掉混合开发的应用程序进程

flutter EasyRefresh加载完成footer消失 flutter 热加载_热加载_02

3、flutter项目根目录下执行命令:flutter attach

注意是在flutter根目录下,不是混合开发的项目根目录`

例如,下图是在红框的目录下执行flutter attach

flutter EasyRefresh加载完成footer消失 flutter 热加载_根目录_03

如果打开了多个模拟器的话,会让你选择其中一个,如下图:

flutter EasyRefresh加载完成footer消失 flutter 热加载_根目录_04

解决:

执行 flutter attach -d ‘42F1B2F5-5EFA-447D-91FF-DD009DF6A51E(需要换成你自己的id)’即可

4、运行界面如下:这个时候已经成功了,是在等待你打开程序

flutter EasyRefresh加载完成footer消失 flutter 热加载_根目录_05

5、打开混编的那个程序(第二步让你杀掉进程的那个)

例如我的:

flutter EasyRefresh加载完成footer消失 flutter 热加载_热加载_06

打开后可以看到终端输出

flutter EasyRefresh加载完成footer消失 flutter 热加载_热加载_07

6、这个时候就已经完成了热加载功能,愉快的调试吧。

下图为:我修改了标题,然后在终端直接按大写的R,不需要混编项目重新运行,即可以看到标题已经改为了我修改的。

flutter EasyRefresh加载完成footer消失 flutter 热加载_根目录_08

flutter EasyRefresh加载完成footer消失 flutter 热加载_根目录_09

作者:wg刚