AOSP 10中修改蓝牙配对超时的源码修改方法咨询
修改AOSP 10蓝牙配对超时时间的源码位置及方案
1. 经典蓝牙(BR/EDR)配对超时修改
核心逻辑在蓝牙设备管理服务中,定位到以下文件:
- 路径:
packages/apps/Bluetooth/src/com/android/bluetooth/btservice/DeviceManagerService.java
查找类中定义的配对超时常量,AOSP 10默认一般为30秒(30000ms),示例修改:// 原常量定义 private static final int BOND_TIMEOUT_MS = 30000; // 修改为自定义时长,比如60秒 private static final int BOND_TIMEOUT_MS = 60000; - 额外检查点:
packages/apps/Bluetooth/src/com/android/bluetooth/btservice/AdapterService.java的startBonding方法,部分版本会在此处补充超时控制逻辑。
2. BLE设备配对超时修改
针对低功耗蓝牙的配对/连接超时,需要调整GATT相关模块:
- 应用层:
packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
查找CONNECTION_TIMEOUT_MS或类似常量,修改BLE连接超时(直接影响配对触发的时间窗口):private static final int CONNECTION_TIMEOUT_MS = 10000; // 原10秒,修改为20秒 - 底层蓝牙栈:
system/bt/gatt/gatt_api.cc
修改GATT_CONN_TIMEOUT宏定义,这是底层驱动级别的超时控制,需同步修改:#define GATT_CONN_TIMEOUT 20000 // 原10秒,修改为20秒
3. 编译与验证
- 单独编译蓝牙相关模块:
mma packages/apps/Bluetooth/ mma system/bt/ - 将编译生成的
Bluetooth.apk、libbluetooth.so等文件刷入设备,或直接编译完整系统镜像刷入。 - 发起蓝牙配对测试,验证超时时间是否符合修改后的设置。
内容的提问来源于stack exchange,提问作者suspended_null
相关产品推荐
相关产品推荐

