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的核心代码,包括驱动