Android通过flutter_module引入Flutter,无法热更。
一、混合开发中启用 Flutter 的 热重启 / 热加载
Flutter 开发时 , 默认自动开启 热重启 / 热更新 功能 , 改动代码后 , 一旦 Ctrl + S 保存代码 , 修改的内容马上会热更新到调试的手机中 ;
如果在 Android Native 应用 和 Flutter 应用混合开发时 , Flutter 无法进行 热重启 / 热更新 , 这样降低了开发调试的效率 ;
混合开发中启用 Flutter 的 热重启 / 热加载 :
① 打开模拟器 , 或连接真机 ;
② 关闭应用 : 注意 , 应用一定不能运行在手机中 , 先把手机中的应用关闭 ;
③ 关联 Flutter 与 Android 应用 :
在 Flutter Module 工程的 Android Studio 的 Terminal 面板中 ,使用
flutter attach
命令 , 可以令 Android 应用 和 Flutter 应用进行关联 , 之后在该混合开发中 , 就可以实现 Flutter 的 热重启 / 热更新 ;
此时会输出 " Waiting for a connection from Flutter on Pixel 2… " 提示 , 等待将 Android 和 Flutter 混合应用安装到设备中 ;
注意 , 运行的是 混合应用 , 将 Android 项目运行 , 运行 Android Native 项目 ;
Y:\002_WorkSpace\001_AS\flutter_hybrid\flutter_module>flutter attach Waiting for a connection from Flutter on Pixel 2...
在 Android 的 Native 应用中 , 运行 , 注意不是运行 Flutter 应用 ;
Android 手机中已经运行该应用 ;
flutter_module 的 Terminal 中还是现实如下信息 , 这是因为还没有在 Android 应用中加载 Flutter 页面 ;
在 Android 应用中 , 点击 " 方式一 " 按钮 , 加载 Flutter 应用 , Flutter 页面以 FlutterFragment 形式嵌入到了 Android 页面中 ;
flutter_module 的 Terminal 中打印如下信息 , 说明混合开发中 Flutter 的 热重启 / 热加载 启用成功 ;
Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).
💪 Running with sound null safety 💪
An Observatory debugger and profiler on MI 8 UD is available at: http://127.0.0.1:57857/LMv2jSMWQBQ=/
The Flutter DevTools debugger and profiler on MI 8 UD is available at:
http://127.0.0.1:9100?uri=http://127.0.0.1:57857/LMv2jSMWQBQ=/
二、混合开发中 Flutter 的 热重启 / 热加载 命令测试
Flutter 运行按键命令 :
r // 热加载
R // 热重启
h Repeat this help message. // 帮助信息
d Detach (terminate “flutter run” but leave application running).// 取消热修复
c Clear the screen // 清空屏幕
q Quit (terminate the application on the device). // 退出
修改 Flutter 代码后 , 在 Android Studio 的 Terminal 中, 按下 r 键 , 即可进行热更新 ;
Performing hot reload... Reloaded 1 of 553 libraries in 791ms.
热门相关:最强狂兵 时间都知道(唐嫣、窦骁、杨烁主演) 寂静王冠 别那么骄傲 别那么骄傲