背景描述:使用android studio连接真机调试的时候,使用终端指令(如adb logcat -d)无论如何看不到有日志输出
# 首先我们需要验证是否真连接上真机 PS C:\android\project> adb devices List of devices attached 49a050fc device # 先清理之前可能存在的日志,该命令不会输出任何东西 PS C:\android\project> adb logcat -c # 然后执行下面指令,该指令尝试验证logcat能否正常获取日志 # 理论上执行后应该有输出,但实际直接无任何输出并一直卡在那 PS C:\android\project> adb logcat -d | Select-Object -First 10
1.背后逻辑和解决办法
国内太多系统存在基于原版安卓系统的魔改,批量搜索实际上你能发现除了MIUI其他系统大多也需要手动更改某些选项才能开启原生安卓系统的logcat日志记录。接下来说解决流程
1.确认USB调试基础设置
- 进入手机设置 → 关于手机 → 连续点击“MIUI版本”7次以开启“开发者选项”
- 返回设置主界面,进入“更多设置” → “开发者选项”
- 确认“USB调试”开关已开启
- 连接USB后,下拉通知栏,点击USB连接提示,选择“文件传输”或“MIDI”模式
2.检查设备授权与ADB连接状态
输入adb devices命令查看是否正常连接
# 连接上之后能正常输出设备列表
PS C:\android\project> adb devices
List of devices attached
49a050fc device如果设备显示为unauthorized,请拔插USB线,并在手机弹出的授权提示中点击“允许”
3.硬件与驱动层面:数据线与电脑驱动问题
- 无连接反应:说明数据线仅充电不支持数据传输,极有可能是买的第三方线太劣质,需要去更换为支持数据传输的数据线
- 设备无法识别:缺少USB驱动,需要安装ADB驱动安装工具,一般来说安装好android studio之后是直接就有adb工具了
4.开启系统级日志记录开关
- 进入 设置 -> 更多设置 -> 开发者选项
- 找到 “日志记录器缓冲区大小” (Log buffer size),建议设置为 16M 或更大
- 找到 “日志记录级别” (Log level),确保选择了 Verbose
- 部分版本可能需要:找到 “开启开发者日志” (Enable developer logs) 开关并打开。部分 MIUI 版本在打开此开关后会提示重启手机,请按提示操作
接下来一般就可以adb logcat获取日志了,你可以执行以下命令,如果执行后有输出说明搞定了
# 使用以下命令查看日志输出级别:
adb shell setprop persist.log.tag若无输出,可尝试设置全局日志级别:
adb shell setprop persist.log.tag "*:V"然后再执行以下命令,有输出说明已经成功获取日志,大功告成
# 导出所有日志,并输出前面10行(此命令windows用户有效,其他设备用模型自行查找)
adb logcat -d | Select-Object -First 10
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。