android - 未生成蓝牙 HCI 监听日志

标签 android bluetooth android-4.4-kitkat android-bluetooth s5

我正在运行 Android 4.4.2,并启用了此处所述的“蓝牙 HCI 监听日志”Sniffing/logging your own Android Bluetooth traffic

打开和关闭蓝牙后,我重新启动了手机。我在预期的位置找不到日志文件:

$ adb pull /sdcard/btsnoop_hci.log
remote object '/sdcard/btsnoop_hci.log' does not exist

如何访问 btsnoop_hci.log?

最佳答案

更新:btsnoop hci 日志似乎正在逐步退出许多手机上的用户可访问区域。假设您启用了 hci 日志记录,您可以获得错误报告

adb bugreport anewbugreportfolder

然后解压文件夹。如果幸运的话,有一个“FS”文件夹,其中包含 btsnoop_hci.log 日志记录了几层(不知道为什么有些手机有这个,有些没有。)如果你没有它,捕获错误报告文本看起来像这样的文件

bugreport-2018-08-01-15-08-01.txt

对它运行 btsnooz.py。 Per Google`s instructions,

To extract snoop logs from the bug report, use the btsnooz script.

Get btsnooz.py.
Extract the text version of the bug report.
Run btsnooz.py on the text version of the bug report:

btsnooz.py BUG_REPORT.txt > BTSNOOP.log

截至 21 年 1 月 12 日,btsnooz 的链接在这里:https://android.googlesource.com/platform/packages/modules/Bluetooth/+/refs/heads/master/system/tools/scripts/btsnooz.py

传统答案:

您可以通过阅读 bt_stack.conf 文件来查看手机存储 hci 日志的位置。试试

adb shell cat /etc/bluetooth/bt_stack.conf

你会看到一条看起来像这样的线

# BtSnoop log output file
BtSnoopFileName =/sdcard/btsnoop_hci.log <--your file location

通常但不总是(取决于手机)在 sdcard 的根目录上。此配置文件中还有一行可以反射(reflect) hci 日志记录是否实际开启

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

在开发人员选项中切换“启用蓝牙 HCI 监听日志”选项应将其更改为

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

我说“应该”,因为对于某些手机,这不会更新此文件。你应该:

  1. 读取 bt_stack.conf 文件。查看 HCI 日志的位置以及是否实际启用了 bt snoop 日志记录
  2. 如果开发人员选项显示 btsnoop_hci 日志记录已打开,但 bt_stack.conf 文件显示已关闭,请尝试重启蓝牙和/或您的手机。
  3. 如果你的手机已经root,手动设置BtSnoopLogOutput=true

如果这 3 个选项都不起作用,那么您就不走运了。 BT Snoop hci 日志记录在不​​同手机之间有点不一致。我见过一些手机,无论如何我都无法让它工作,但在大多数情况下,你应该能够让它工作。不需要root手机。

关于android - 未生成蓝牙 HCI 监听日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28445552/

相关文章:

Android - 从 Binder 到 Broadcasts

android - 此应用程序不能树摇图标字体。 Android 部署的 Flutter 构建错误

android - 如何使用 adb shell 控制蓝牙操作?

android - Android 中的不同 toast 消息

android - 在 Kitkat 上编译的 Lollipop 优化应用程序 - LayoutInflaterCompatHC NoClassDefFoundError

android - 如何获取项目中单元测试的数量

android - 让 Android 同时使用 WiFi 与设备对话,并使用移动数据与服务器对话?

linux - 在 Fedora 20 上使用 bluez 注册一个 sdp 服务

android - Android 后台任务的流媒体视频播放性能问题

android - 每次设备进入此模式时,沉浸式模式说明都会重新出现