Flutter-Dart中print和log无法在Android Studio控制台输出求助
Flutter日志无输出的解决方法
以下是针对你遇到的log()和debugPrint()无输出问题的排查步骤:
检查Logcat过滤设置
别直接搜具体的消息内容,先确认Logcat顶部的过滤器是否选对了当前运行的设备/模拟器,以及是否选择了Flutter过滤器。也可以清空过滤框,直接输入flutter作为过滤关键词(这两个打印方法默认的日志标签都是flutter),看看能不能找到日志。确认运行模式
如果你是用Release模式运行,debugPrint()和log()会被自动移除,因为Release模式会剔除调试代码。确保你选的是Debug模式运行(Android Studio运行按钮旁的下拉菜单选择Debug)。验证代码是否执行
把打印代码放在肯定会执行的地方,比如页面的initState里:@override void initState() { super.initState(); log('测试日志'); debugPrint('测试debugPrint'); }确认页面初始化时这段代码能被触发。
重启工具和设备
有时候Android Studio的缓存或者模拟器/真机的日志服务会卡住,重启Android Studio和你的测试设备,再重新运行项目试试。排查日志通道是否正常
可以尝试用Android原生打印来测试日志系统:import 'package:flutter/services.dart'; // 在需要打印的位置调用 void testNativeLog() { MethodChannel('android/log').invokeMethod('d', ['TestTag', '原生测试日志']); }然后在Logcat里过滤
TestTag,如果这个能显示,说明Flutter的日志通道可能有异常;如果也不显示,可能是设备的日志输出被限制了。检查设备日志权限
部分国产真机的开发者选项里有日志输出限制,进入开发者选项,找到“日志输出控制”之类的设置,确保开启了全部日志输出权限。
内容的提问来源于stack exchange,提问作者TryCatchFinally
相关产品推荐
相关产品推荐

