蓝牙进程分析"/>
安卓12 蓝牙进程分析
安卓12系统中,可以看到有以下两个蓝牙相关的进程:
1、com.android.bluetooth是安卓的蓝牙系统服务,在 Android 框架层实现蓝牙服务和profile。此应用通过 JNI 调用原生蓝牙堆栈。对应的代码在:aosp/packages/apps/Bluetooth目录中。原生的蓝牙堆栈在:aosp/system/bt目录下。该原生的蓝牙堆栈实现了常规蓝牙的HAL,并通过拓展程序和更改profile实现厂家的自定义profile。
2、android.hardware.bluetooth对应的代码在:aosp/hardware/interfaces/bluetooth目录下,定义了蓝牙堆栈与供应商之间的HIDL接口,该系统服务启动时通过dlopen打开第三方蓝牙厂家的蓝牙libsdk库,并调用厂家实现的接口与蓝牙硬件进行通信。
3、蓝牙相关的源码:
a、系统设置蓝牙相关的代码,实现了蓝牙的扫描,连接等:
aosp/packages/apps/Settings/src/com/android/settings/bluetooth
aosp/frameworks/base/packages/SettingsLib/src/com/android/settingslib/bluetooth
b、蓝牙应用框架代码,对应用提供蓝牙api,与蓝牙系统服务通过Binder进行通信:
aosp/frameworks/base/core/java/android/bluetooth
4、参考网站:
蓝牙 | Android 开源项目 | Android Open Source Project
Android 蓝牙开发(十)A2DP源码分析_VNanyesheshou的博客-CSDN博客
Android O HIDL的使用例子 -- 蓝牙HCI 服务进程_#include <android/hardware/bluetooth/1.0/ibluetoot_studyhxz的博客-CSDN博客
更多推荐
安卓12 蓝牙进程分析
发布评论