1. 概述

在<Android蓝牙介绍>中,介绍了Android蓝牙的基本结构

在实际运行的Android中,Bluedroid是以库文件的形式呈现(这里借用别人博客的图片)

Bluedroid介绍   
-- /system/vendor/lib/libbt-vendor.so: 即厂商提供的模块
实现了bt_vendor_interface_t类型接口BLUETOOTH_VENDOR_LIB_INTERFACE
目前开源的实现有brcmqcom

-- /system/lib/libbt-hci.so: Bluedroid协议栈HCI模块
实现了bt_hc_interface_t类型接口bluetoothHCLibInterface

-- /system/lib/hw/audio.a2dp.default.so: ad2p的硬件抽象层实现
实现了a2dp音频设备, 具体可参考audio policy

-- /system/lib/hw/bluetooth.default.so: Bluedroid协议栈核心模块
实现了bt_interface_t类型接口bluetoothInterface
通过该接口又可获取各Profile对应接口

-- /system/lib/libbluetooth_jni.so: Bluetooth JNI模块
Bluedroid(主要是bt_interface_t)的封装层, 供JAVA层使用

2. 接口

Bluedroid提供的模块与接口对应关系如下图所示

Bluedroid介绍

3. 线程

Bluedroid线程由应用层发起创建

Bluedroid介绍

 

参考网址:
<B2G/Bluetooth-bluedroid>

相关文章:

  • 2022-12-23
  • 2021-09-17
  • 2021-11-12
  • 2022-12-23
  • 2021-08-13
  • 2021-07-29
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-09
  • 2021-11-23
  • 2022-12-23
  • 2021-06-14
相关资源
相似解决方案