必要操作
找到“設置”--“開發者選項”,打開“啟用藍牙HCI信息收集日志”選項:
華為G9 Plus
打開cmd 窗口,輸入:adb pull /data/log/bt
稍等片刻,日志就可以抓取出來了,抓取出來的btsnoop log 保存在當前用戶的文件夾中(我的保存在C:\Users\nisha_chen\bt 目錄下):
然后把后綴名改成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年的,找起來不大方便,后面想想辦法。