Bluetooth: 抓取手机的HCI log

 必要操作

找到“设置”--“开发者选项”,打开“启用蓝牙HCI信息收集日志”选项:

华为G9 Plus 

打开cmd 窗口,输入:adb pull /data/log/bt

 稍等片刻,日志就可以抓取出来了,抓取出来的btsnoop log 保存在当前用户的文件夹中(我的保存在C:Users isha_chent 目录下):

然后把后缀名改成cfa, 也可以不改,使用Front line Capture File Viewer 就可以查看了

 三星 S7e

三星S7e在开发者选项中打开“启用蓝牙HCI”的开关后,HCI log会自动保存在 sdcard/Android/data/btsnoop_hci.log 文件中。

测试总结

实际测试发现,log是可以抓出来了,不过仍然有几个问题:
1. log的文件保存时间与记录时间可能不对应。举个例子来说,比如我用华为手机在7/7号上午跟蓝牙设备进行了一次交互,但是记录的log仍然保存在7/6号的那个文件里面,会让人误以为没有记录;
2. 通过这种方式抓取log,虽然手机不需要root, 但是并不通用于所有的phone, 使用华为G9 Plus的那种方法, 换了个HTC的设备就立马不行了,因此系统的HCI log保存目录跟手机的ROM应该也有关系;
3. 这种方式只能抓取log, 却没办法删除手机里面的HCI log(像三星那样直接保存在SDcard上是可以直接删除的), 不知道怎么删除里面的HCI log, 设备也没root, 这样导致的一个问题就是抓取出来的log还有19年的,找起来不大方便,后面想想办法。

原文地址:https://www.cnblogs.com/yongdaimi/p/13261230.html