Android Bluetooth源码结构

Android Bluetooth架构

Android Bluetooth源码结构

Android 5.1 蓝牙源码目录

一、Bluetooth 的设置应用

packages/apps/Settings/src/com/android/settings/bluetooth/
蓝牙设置应用及设置参数,蓝牙状态,蓝牙设备等。

二、 Bluetooth 的JAVA类

frameworks/base/core/java/android/bluetooth/
frameworks/base/services/core/java/com/android/server/BluetoothManagerService.java
如BluetoothClass,BluetoothAdapter,BluetoothDevice等。Bluetooth应用就是通过这些类实现。

三、 Bluetooth 的服务应用

packages/apps/Bluetooth/src/com/android/bluetooth
蓝牙btservice,gatt, hid等实现。蓝牙传输及配对等实现。

四、 Bluetooth 的JNI接口

packages/apps/Bluetooth/jni/
主要是为Bluetooth的JAVA类提供一些底层API支持(C++实现)。如gatt等。

五、 Bluetooth的协议栈支持

external/bluetooth/bluedroid/
提供蓝牙协议栈支持,android主要使用Bluedroid协议栈。

六、Bluetooth 硬件

hardware/libhardware/include/* (添加和蓝牙相关的头文件)
hardware/broadcom/libbt/ (根据自己模组选择对应的厂家)
hardware/qcom/bt/ (根据自己模组选择对应的厂家)

七、Bluetooth 的状态栏

frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothUtil.java
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java

八、Bluetooth的kernel层

kernel\drivers\bluetooth*
kernel\net\bluetooth*
linux系统上Bluetooth的核心代码,包括驱动