HCI log 是用来分析蓝牙设备之间的交互行为是否符合预期,是否符合蓝牙规范。对于蓝牙开发者来说,通过 HCI log 可以帮助我们更好地分析问题,理解蓝牙协议。
一、抓取HCI log
1、手机抓取HCI log
在开发者选项中打开启用蓝牙HCI信息收集日志开关,Android系统就开始自动地收集HCI log并保存到手机上。
上面使用的是 Android Studio模拟器,不同的手机可以有些差别,例如小米手机为打开蓝牙数据包。
2、车机抓取HCI log
adb shell 执行: setprop persist.bluetooth.btsnooplogmode full
3、HCI log 存放位置
不同的平台存放 HCI log 的路径会不一样,MTK存放HCI log 的路径为 /sdcard/mtklog/btlog/btsnoop_hci.log,高通的存放路径为 /sdcard/btsnoop_hci.log。实际使用时小米的 HCI log 是在 /sdcard/MIUI/debug_log 下的 bugreport-xxxx-xx-xx-xxxxx.zip