Flutter杀死应用后如何在debug console打印调试日志
Flutter 应用后台/进程被杀状态下查看调试日志操作步骤
你要找的就是flutter logs命令的用法,具体操作按下面走就行,测后台任务、进程被杀后的系统唤醒逻辑都能用:
- 先把测试设备(真机/模拟器都可以)连上开发机,终端执行
flutter devices确认设备被正常识别,多设备连接的话记好目标设备的ID - 正常用
flutter run或者IDE的debug按钮把debug版包装到设备上,装完就算你把flutter run的调试会话停了也没关系 - 终端执行日志监听命令:
- 单设备连接直接跑:
flutter logs - 多设备连接指定设备:
flutter logs -d 你之前记的设备ID
- 单设备连接直接跑:
- 命令跑起来之后,你直接手动把应用划掉杀进程、按Home键退后台都行,之后触发对应的后台逻辑(比如定时任务、推送唤醒、前台服务逻辑),代码里写的
debugPrint()、print()输出的内容都会实时打到当前终端里,哪怕应用是被系统冷启动拉起来跑后台任务,日志也不会漏。
注意事项:
- 这个方法仅对debug构建的安装包生效,release包默认屏蔽print/debugPrint输出,没法用这个方式抓
- 如果日志刷新太杂找不到目标内容,可以加过滤:Mac/Linux下用
flutter logs | grep "自定义日志标签",Windows下用flutter logs | findstr "自定义日志标签"- 抓日志的时候不要同时开其他Flutter调试会话,会抢占日志通道导致输出不全
- 如果测iOS端后台逻辑,记得先给应用开对应后台权限(后台刷新、推送权限等),不然系统不会唤醒应用,自然不会产生日志
如果是要抓release包的后台日志,安卓端直接用adb logcat筛选应用进程日志就行,iOS端用Mac自带的控制台.app选对应设备看实时日志流就可以。
内容的提问来源于stack exchange,提问作者OMAR R A SHAIKHOMAR
相关产品推荐
相关产品推荐

