Android Bluetooth How To--Based on Android L Bluedroid
Android Bluetooth How To(Based on Android L Bluedroid)
持续更新中…
1、How to enable btsnoop log?
a) UI Settings-->
b) Developer Options-->
c) reboot Tablet, then snoop log will locate in /sdcard/btsnoop_hci.log(this path can be configured in /etc/bluetooth/bt_stack.conf)
2、If developer options default not enabled, you can use following steps to enable it
a) Settings-->
b) About Tablet-->
c) Click 4 or 5 times or more in Build Number-->
d)then, Develop options will comeout-->
Pls also be noted that how to enable Developer Options might depend on system and Android Versions
3、bluedroid useful config files
a) bt_stack.conf
i. 此文件保存在/etc/bluetooth/目录下,用于配置抓取bluedroid协议栈log的方式和log的级别
b) bt_config.xml
i.此文件在/data/misc/bluedroid/目录下,保存了当前BT设备、扫描到的BT设备以及配对过的BT设备的信息,包括device name、BD_ADDR、link key、Report Descriptor(HID)等等
c) bt_did.conf,/etc/Bluetooth/
i. Device ID (DID) configuration file,未被使用
d) auto_pair_devlist.conf,/etc/Bluetooth/
i. 保存blacklist和whitelist
4、How to enable & adjust bluedroid debug log level?
a) this should customized in /etc/bluetooth/bt_stack.conf
b) enable btsnoop log -->
i.set BtSnoopLogOutput to true
BtSnoopLogOutput=true
ii. set BtSnoopFileName to path you want to save btsnoop log
BtSnoopFileName=/sdcard/btsnoop_hci.log
c) adjust trace & debug level
i. set TraceConf to true
TraceConf=true
ii. 根据需要设置debug level,默认是2,通常debug的时候,都是将level默认设置为5来抓log,这样可以打出更多的信息(logcat)
TRC_BTM=5
TRC_HCI=5
TRC_L2CAP=5
TRC_RFCOMM=5
TRC_OBEX=5
TRC_AVCT=5
TRC_AVDT=5
TRC_AVRC=5
TRC_AVDT_SCB=5
TRC_AVDT_CCB=5
TRC_A2D=5
TRC_SDP=5
TRC_GATT=5
TRC_SMP=5
TRC_BTAPP=5
TRC_BTIF=5
5、Android Bluetooth相关code路径
a) bluedroid协议栈
i. <Android Root>/external/bluetooth/bluedroid/
b) Bluetooth.apk
i. <Android Root>/packages/apps/Bluetooth/
c) Settings.apk
i. <Android Root>/packages/apps/Settings/src/com/android/settings/bluetooth
d) hal头文件
i. <Android Root>/hardware/libhardware/include/hardware/bluetooth.h
ii. <Android Root>/hardware/libhardware/include/hardware/bt_*.h
e) framework相关
i. <Android Root>/frameworks/base/core/java/android/bluetooth
ii. <Android Root>/frameworks/base/services/core/java/com/android/server/ BluetoothManagerService.java
6、bluedroid build出来的binary
a) bluetooth.default.so
i. 这个协议栈的profile、stack所编译出来的,是bluedroid的精华所在
i. 由如下库文件组成,static lib (参考:bluedroid/main/Android.mk)
- libbt-brcm_bta \ -> bluedroid/bta/Android.mk
- libbt-brcm_gki \ -> bluedroid/gki/Android.mk
- libbt-brcm_stack \ -> bluedroid/stack/Android.mk
- libbt-hci \ -> bluedroid/hci/Android.mk
- libbt-utils \ -> bluedroid/hci/Android.mk
- libbt-qcom_sbc_decoder \ -> bluedroid\embdrv\sbc\decoder\Android.mk
- libosi \ -> bluedroid/osi/Android.mk
- libtinyxml2 \
b) audio.a2dp.default.so
i. 这个是a2dp和audio的hal接口,-> bluedroid\audio_a2dp_hw\Android.mk
c) libbt-vendor.so
i. vendor自己实现的,用于将bluedroid协议栈铜特定的芯片driver接起来
7、 Android BT基本架构
Android Bluetooth How To--Based on Android L Bluedroid的更多相关文章
- 【转】Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析
原文网址:http://blog.csdn.net/xubin341719/article/details/38584469 关键词:蓝牙blueZ A2DP.SINK.sink_connect.s ...
- vue app混合开发蓝牙串口连接(报错java.io.IOException: read failed, socket might closed or timeout, read ret: -1;at android.bluetooth.BluetoothSocket.connect at js/BluetoothTool.js:329)
我使用的uni-app <template> <view class="bluetooth"> <!-- 发送数据 --> <view c ...
- Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析
关键词:蓝牙blueZ A2DP.SINK.sink_connect.sink_disconnect.sink_suspend.sink_resume.sink_is_connected.sink_ ...
- 【转】Android bluetooth介绍(二): android blueZ蓝牙代码架构及其uart 到rfcomm流程
原文网址:http://blog.sina.com.cn/s/blog_602c72c50102uzoj.html 关键词:蓝牙blueZ UART HCI_UART H4 HCI L2CAP ...
- android Bluetooth(官方翻译)
Bluetooth Using the Bluetooth APIs, an Android application can perform the following: 使用蓝牙APIs,一个And ...
- Android Bluetooth开发
原文地址:http://developer.android.com/guide/topics/wireless/bluetooth.html 翻译:jykenan 更新:2012.06.19 Andr ...
- Android bluetooth介绍(四): a2dp connect流程分析
关键词:蓝牙blueZ A2DP.SINK.sink_connect.sink_disconnect.sink_suspend.sink_resume.sink_is_connected.sink_ ...
- Android BLE与终端通信(二)——Android Bluetooth基础科普以及搜索蓝牙设备显示列表
Android BLE与终端通信(二)--Android Bluetooth基础搜索蓝牙设备显示列表 摘要 第一篇算是个热身,这一片开始来写些硬菜了,这篇就是实际和蓝牙打交道了,所以要用到真机调试哟, ...
- Android BLE与终端通信(一)——Android Bluetooth基础API以及简单使用获取本地蓝牙名称地址
Android BLE与终端通信(一)--Android Bluetooth基础API以及简单使用获取本地蓝牙名称地址 Hello,工作需要,也必须开始向BLE方向学习了,公司的核心技术就是BLE终端 ...
随机推荐
- 哈密顿绕行世界问题 HDU2181
题目大意都比较简单,用vector存一下图,然后爆搜就可以了. #include<bits/stdc++.h> using namespace std; ; vector<]; bo ...
- 如何可视化深度学习网络中Attention层
前言 在训练深度学习模型时,常想一窥网络结构中的attention层权重分布,观察序列输入的哪些词或者词组合是网络比较care的.在小论文中主要研究了关于词性POS对输入序列的注意力机制.同时对比实验 ...
- HBase BucketAllocatorException 异常剖析
近日,观察到HBase集群出现如下WARN日志: 2020-04-18 16:17:03,081 WARN [regionserver/xxx-BucketCacheWriter-1] bucket. ...
- C#开发BIMFACE系列33 服务端API之模型对比4:获取模型对比结果
系列目录 [已更新最新开发文章,点击查看详细] 模型对比可以对两个文件/模型进行差异性分析,确定两个文件/模型之间构件的几何和属性差异,包括增加的构件.删除的构件和修改的构件. 模型对应可以用 ...
- 使用NLP从文章中自动提取关键字
背景 在研究和新闻文章中,关键词构成了一个重要的组成部分,因为它们提供了文章内容的简洁表示.关键词在从信息检索系统,书目数据库和搜索引擎优化中定位文章方面也起着至关重要的作用.关键词还有助于将文章分类 ...
- python爬虫(1)requests库
在pycharm中安装requests库的一种方法 首先找到设置 搜索然后安装,蓝色代表已经安装 requests库中的get请求 与HTTP协议相对应,requests库也有七种请求方式. 获取ur ...
- tp5--路由的使用方法(深入)
懒得写注释,直接上代码 配置文件Route: <?php use think\Route; //tp5路由测试 //动态注册 //Route::rule('路由表达式','路由地址','请求类型 ...
- MySQL的远程链接
安装好我们的mMySQL,是不是也有种无从下手的感觉,不用怕,接下来我们可以使用远程连接来可视化我们的数据库的数据: 1. 打开我们的数据库,帐号是root,密码查看文件就行了 2.使用命令: mys ...
- (c++ std) 查找 vector 中的元素
You can use std::find from <algorithm>: std::find(vector.begin(), vector.end(), item) != vecto ...
- hexo-themes-setting
hexo-themes-setting hexotheme Hexo 主题配置管理 一半有几种方式, 可以删除git 单独维护 也可以使用 hexo 推荐的方式进行维护 所有需要写在主题配置文件中的配 ...