在我刚在开发者选项下开启开启蓝牙HCI信息搜集日志时, 使用adb并无法拿到btsnoop_hci.log. 随后查阅了许多资料, 折腾了许久, 包括什么要获取root权限等等. 最终在把USB连接方式仅充电转为传输文件后, 就能拿到hci日志文件了. 而且稀里糊涂的, 蓝牙也开始抓包了. 最后, 抓到的蓝牙包在我手机里越来越大, 我暂时是不想折腾如何删除手机上的HCI日志文件了.

开发者模式

在手机的安卓版本号那边点击5下就可以开启, 网上资料挺多的, 都差不多, 可以看这篇文章.

开启HCI日志

开发者选项内, 有一条开启蓝牙HCI信息搜集日志, 关闭再打开蓝牙, 这样手机就会抓蓝牙HCI包了.

同时, 为了能拿到包, 还需要开启USB调试 .

获取蓝牙包

本人手机型号 华为mate20 pro. 操作系统 Ubuntu 18.04 以及Archlinux均测试.

开启USB调试后, 使用USB数据线连接手机, 手机应该被正常识别到, 切换USB连接模式至传输文件.

系统上应该能看到手机连接:

lsusb
# Bus 001 Device 059: ID 12d1:107e Huawei Technologies Co., Ltd.

然后安装adb - Android Debug Bridge

# Ubuntu
apt install android-tools-adb# Archlinux
pacman -S android-tools

查看一下 adb 是否可以识别设备:

adb devices
# List of devices attached
# 3EP0218C19000591  device

如果成功, 运行adb shell 应该是可以进入手机shell的. 如果不能识别设备, 可能需要开启adb:

adb start-service

查看一下蓝牙配置文件, 看看蓝牙日志存在哪里:

# 我是华为手机. 不同版本可能文件不同, 但配置文件的路径应该是相同的.
# 查看蓝牙文件
adb shell ls /etc/bluetooth/# 查看配置文件
adb shell cat /etc/bluetooth/bt_stack.conf
# BtSnoopLogOutput=true
# BtSnoopFileName=/data/log/bt/btsnoop_hci.log
# BtSnoopSaveLog=true
# 注意, 我安卓手机的蓝牙日志配置文件是 bt_stack_log.conf

最后, 找一个目录存放日志 $DOWNLOAD_PATH

adb pull /data/log/bt/ $DOWNLOAD_PATH
ls -R .
# ./bt:
# btsnoop_hci_20210413_171017.log

这个日志可以被Wireshark打开并解析.

关于adb与手机root权限

adb shell 进入手机shell并不是root权限的, 这样做是很安全的, 防止你的手机变砖, 专业的事情还是交给专业的人解决.

adb获取root权限有个命令 adb root, 但是会报错. 好像如果手机本身没有root的话, adb root是没用的.

adb shell 中有个run-as, 这个是获取某个发包应用的权限, 从而允许获取到发包应用的文件. 比如腾讯应用的文件, 但是呢, 如果发包用户没有开启debug也是没用的.

我是华为手机, 在我网上找说华为要申请root解锁, 我找了半天没找到. 网上还有各种乱七八糟的root软件, 真是不敢下. 我在shell下看了一下, 华为手机里还把su给去掉了.

最后, 在把USB连接方式改成传输文件后, 我也能拿到文件, 所以就不纠结root权限了. 但是删不掉文件依旧很烦啊.

参考资料

https://stackoverflow.com/questions/28445552/bluetooth-hci-snoop-log-not-generated
https://www.mybluetoothreviews.com/what-is-bluetooth-hci-snoop-log/

蓝牙日志文件

Github的btstack 与 Sony HSP/HFP 连接日志
Github的btstack 与 网易音箱 HSP/HFP 连接日志
Android的bluez 与 网易音响 HSP/HFP 连接日志

遗留问题

  • 如何清除遗留在手机上的HCI日志?

看过后, 如果大家还有什么问题, 还可以问我, 我尽量帮忙解决

获取Android蓝牙HCI日志相关推荐

  1. RK3568平台开发系列讲解(蓝牙篇)Android 蓝牙框架概览

    文章目录 <font color=#0990d9>一.蓝牙概览 1.1.Android 8 架构 1.2.Android 7.x 及更早版本的架构 一.蓝牙概览 Android 提供支持经 ...

  2. Android 蓝牙抓包和分析 (1) 启用蓝牙HCI信息收集日志

    蓝牙通信其实和http通信有点类似,http通过接口交互抓取数据包也很方便,但是到了蓝牙就没那么方便了,本文就是介绍如何实现蓝牙数据包的抓取. 怎么抓包 另一种更为简便的抓包方式请阅读Android ...

  3. Android O HIDL的使用例子 -- 蓝牙HCI 服务进程

    1.1.Treble 计划概览 Android O 引入" Treble" 计划,目标是通过重构 Android OS 的 framework,使 Android 设备制造商能更快 ...

  4. android查找邮件程序,Android 程序崩溃日志邮件获取

    版权声明:本文为博主原创文章,未经博主允许不得转载. 在我们开发Android应用程序的时候,BUG的出现是难以避免的,时不时还会出现崩溃的情况,这个时候,我们急需知道造成问题的原因是什么,但是,在没 ...

  5. 华为手机获取hci日志

    一. 打开手机开发者模式 首先打开手机设置界面: 然后拉到最后,点开关于手机设置: 然后在关于手机界面,做以下两步操作,第一步如图:不停地点击版本号这个位置,当出现如图2中的提示,则表示进入了开发者模 ...

  6. Android蓝牙系统框架和代码架构

    二.蓝牙Bluetooth源码目录分析 1.Bluetooth的设置应用 路径:\packages\apps\Settings\src\com\android\settings\bluetooth 蓝 ...

  7. 手机HCI日志抓取教程

    手机HCI日志抓取教程 以下为主流安卓手机品牌以及iOS手机HCI日志抓取教程(亲测有效) Android HUAWEI/Honor 进入应用程序->设置->关于手机,连续点击版本,提示打 ...

  8. Android蓝牙开发系列文章-蓝牙设备类型知多少?

    在写<Android蓝牙开发系列文章-蓝牙音箱连接>时,计划细化出一篇讲解蓝牙设备类型的文章,现在它来了~ 阅读其他内容,可以点击<Android蓝牙开发系列文章-策划篇>,或 ...

  9. android 蓝牙hf编程,基于Android蓝牙Inband ring功能实现.doc

    基于Android蓝牙Inband ring功能实现 基于Android蓝牙Inband ring功能实现 [摘要] 蓝牙作为一种短距无线数据与语音传输的开放性全球规范,目前在整个世界范围内都得到了很 ...

最新文章

  1. 百度关键词研究: 应避免的5个错误!
  2. 【Java】反射( reflection)机制 详解
  3. 慢 SQL 诊断优化套路包,套路用的对,速度升百倍
  4. Eclipse执行import命令导入maven项目时报错:Add a version or custom suffix using Name template in Advanced set...
  5. CNN结构:用于检测的CNN结构进化-分离式方法
  6. 怎么从某个div跳转到另一个_另一个伊甸伊丝卡怎么样 伊丝卡使用攻略_
  7. 使用Response.Filter过滤非法词汇
  8. java比较吊的程序代码_java中 compareTo()的程序代码及用法
  9. 第一次立会(2019.3.24)
  10. Python中的break和continue的使用方法
  11. java使用libreoffice_关于java使用libreoffice以及openoffice转换问题。
  12. 基于nonebot的QQ群聊机器人制作(一)
  13. php冒泡排序图解,PHP冒泡排序(Bubble Sort)代码实现图解
  14. Android Unable to find source java class:<File>because it does not belong to any of the source dirs:
  15. Win10双系统选择系统界面黑白或彩色问题
  16. 树莓派Raspberry Pi Pico开发板踩坑:重置后设备管理器各种不识别,未知设备/unknown device
  17. 深入理解java虚拟机(zz)
  18. Reactjs鼠标滚轮监听
  19. 10月12日 阅读数异常公告
  20. 炒菜机器人“精确”破题中餐标准化

热门文章

  1. AT+ESIMS :SIM卡不识或者掉卡简单分析
  2. 如何设置网页标签的LOGO
  3. 机热备、容错服务器、小型机的对比
  4. 读书笔记:跃迁,成为高手的技术
  5. STM32嵌入式基础开发附C-STM32-CAN通讯
  6. android 均衡器_通过均衡器提高Android设备的声音质量
  7. 中颐软启动器说明书_软启动器说明书
  8. hello Kotlin
  9. 泛微 E-Office文件上传漏洞复现(CVE-2023-2523、CVE-2023-2648)
  10. day7 Excel函数-动态函数