BlueDroid代码分析

1.概述

上一篇文章<BlueDroid介绍>中,介绍了BlueDroid的基本结构

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

BlueDroid代码分析_第1张图片  
-- /system/vendor/lib/libbt-vendor.so - 即厂商提供的模块
实现了bt_vendor_interface_t类型接口BLUETOOTH_VENDOR_LIB_INTERFACE
目前开源的实现有brcm和qcom

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

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

-- /system/lib/libbluetooth_jni.so – bluetooth JNI模块
供JAVA层使用

2. 接口

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

BlueDroid代码分析_第2张图片

3. 线程

bluedroid线程由应用层发起创建

BlueDroid代码分析_第3张图片

参考网址:

你可能感兴趣的:(Bluetooth)