安卓系統中默認打開藍牙 HCI snoop 文件的方法

藍牙開發的同學想必一定遇到這樣的問題:
fastboot重刷完安卓系統後,snoop文件是默認不保存的。
在這裏插入圖片描述
這對相當多藍牙協議棧開發人員是一個麻煩,因爲通過分析Host和Controller之間的消息交互能確定很多問題,那有沒有什麼方法打開這個snoop文件?那是必須有的,方法如下:

1、手動打開snoop文件開關

手動打開的步驟如下:

  1. 打開安卓系統中的開發人員選項:
    英文:System -> About phone -> Build number ,連續點擊Build number 五次
    中文:系統 -> 關於手機 -> 版本號,連續點擊版本號五次
  2. 在系統(System)下點擊開發人員選項(Developer options)
  3. 打開HCI snoop文件開關按鈕
  4. 重新開關設置中藍牙按鈕,讓上述配置生效

2、默認打開snoop文件開關

默認打開的方法有如下兩種:

  1. 通過指令:adb shell setprop persist.bluetooth.btsnoopenable true 打開藍牙HCI snoop,重新開關藍牙,使其配置生效
  2. 或者通過修改安卓源碼:system\bt\hci\src\btsnoop.cc 中的函數
    is_btsnoop_enabled()讓其始終返回 true,重編協議棧的so庫替換系統中的庫

經過如上步驟的操作,藍牙的snoop文件就會保存起來,默認存儲路徑:data/misc/bluetooth/logs/,使用專業的藍牙協議分析工具 Ellisys Bluetooth Analyzer和Frontline對應的軟件打開HCI snoop文件就可以分析底層藍牙信息交互的全過程了。

更多互聯互通技術,歡迎關注微信公衆號:Connectivity
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章