安卓蓝牙日志的获取方法

有过蓝牙调试经历的同学们可能都知道,在安卓系统中,在手机的设置–>开发人员页面下有一个开启蓝牙HCI信息收集日志选项开关,如下图中标红处, 打开该开关,就可以收集本机发送和接收的蓝牙HCI包。蓝牙包的数据会保存在btsnoop_hci.log文件中。
在这里插入图片描述
那么这个文件生成后被放在哪里了呢? 这个不同的手机放的位置可不一样。那么怎么知道我的手机上该文件放在哪呢? 我们可以通过下面的方法来查看。

adb shell cat /etc/bluetooth/bt_stack.conf

首先通过上面的adb命令看一下bt_stack.conf的内容, 你需要找到类似下面的这几行代码。

# BtSnoop log output file
BtSnoopFileName =/data/log/bt/btsnoop_hci.log <--日志文件位置

通常你还会看到下面几行代码,这一般反映你的HCI日志是否打开了。如果打开了,BtSnoopLogOutput的值应该会是true. 但这个也不一定,有的机器并不更新这个值。我的机器即使我通过设置打开了HCI日志开关,BtSnoopLogOutput的值还是false.

# EnableBtSnoop logging function
# valid value : true , false
BtSnoopLogOutput=false

如果按照上面的步骤你打开了HCI开关, 并且知道了btsnoop_hci.log的位置。如果你运气好,正好日志文件存放的文件系统又可读,你就可以通过下面的命令获取到日志文件。

adb pull /data/log/bt/btsnoop_hci.log

接着你就可以用wireshark等工具分析日志了。
可惜我就没有那么幸运了。我的华为荣耀平板,按上面的步骤操做后根本就找不到btsnoop_hci.log,即使我在bt_stack.conf文件中看到BtSnoopFileName =/data/log/bt/btsnoop_hci.log它应该被存在这个目录下, 但这个目录对用户不可见,我又root不了该平板。
还好还有另外一种获得蓝牙日志文件的方法。越来越多的手机厂家开始采用通过bug report获取日志的方法替代直接获取btsnoop_hci.log的方法了。 这种方法首先需要运行下面的指令:

adb bugreport c:\tmp\

得到一个压缩文件bugreport-JDN2-W09HN-HUAWEIJDN2-W09HN-2021-06-08-15-07-38.zip,展开这个文件到一个目录后会看到一个同名的TXT文件。

Android BLE(蓝牙低功耗)是一种用于与低功耗设备通信的无线技术。在开发和调试过程中,我们可以使用一些调试工具来帮助我们监控和分析BLE连接和通信过程中的数据。下面是关于Android BLE蓝牙调试工具代码的一些说明: 首先,我们可以使用Android提供的Log工具来打印调试信息。通过在代码中插入Log语句,我们可以在Logcat工具中查看和分析输出的日志信息,以了解BLE连接和通信的过程中发生的事件和数据。 其次,Android提供了一个名为Bluetooth HCI日志记录器(bluetooth_hci.log)的工具,用于记录与BLE通信相关的底层蓝牙协议数据。我们可以通过在设备上运行以下命令来启用该日志记录器: adb shell setprop persist.bluetooth.bluetooth_hci_log true 启用后,BLE通信过程中的底层协议数据将被记录到bluetooth_hci.log文件中。我们可以使用ADB工具来获取该文件,然后使用Wireshark等工具进行分析。 另外,我们还可以使用第三方蓝牙调试工具库,例如nRF Connect或BLE Scanner,来分析和调试BLE连接和通信过程。这些工具通常提供了扫描设备、连接设备、发现服务和特征、读写特征值等功能,可以帮助我们与BLE设备进行交互,并监控和分析通信过程中的数据。 在代码中使用这些蓝牙调试工具时,我们可以根据需要调用相应的API,例如启动扫描、连接设备、发现服务和特征、读写特征值等,然后根据返回的数据和事件进行进一步处理和分析。 总之,Android BLE蓝牙调试工具代码包括使用Log工具打印日志信息、启用Bluetooth HCI日志记录器、使用第三方蓝牙调试工具库等,可以帮助我们监控和分析BLE连接和通信过程中的数据,以便进行调试和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值