蓝牙开发的同学想必一定遇到这样的问题:
fastboot重刷完安卓系统后,snoop文件是默认不保存的。
安卓系统中默认打开蓝牙 HCI 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
安卓系统中默认打开蓝牙 HCI snoop 文件的方法

相关文章:

  • 2022-02-02
  • 2021-04-26
  • 2021-09-16
  • 2021-04-06
  • 2021-12-26
  • 2021-06-30
  • 2022-12-23
猜你喜欢
  • 2021-11-22
  • 2021-11-22
  • 2022-01-13
  • 2022-12-23
  • 2021-10-01
  • 2022-01-09
  • 2021-12-26
相关资源
相似解决方案