1. 蓝牙名称定义的位置

\device\qcom\common\bdroid_buildcfg.h中定义#define BTM_DEF_LOCAL_NAME   "QCOM-BTD"

BTM_DEF_LOCAL_NAME 被system\bt\btif\src\btif_dm.cc的btif_default_local_name()中调用

这里可以看出如果BTM_DEF_LOCAL_NAME的值不为空,那么蓝牙名称采用BTM_DEF_LOCAL_NAME来赋值;如果为空,则采用PROPERTY_PRODUCT_MODEL,

#define PROPERTY_PRODUCT_MODEL "ro.product.model"

ro.product.model在build/tools/buildinfo.sh中赋值

echo "ro.product.model=$PRODUCT_MODEL"

PRODUCT_MODEL在build目录下有定义,但一般是使用device/qcom/msm8953_64/msm8953_64.mk下的定义,比如 PRODUCT_MODEL :=msm8953 for arm64

bdroid_buildcfg.h文件在\device\qcom\common\base.mk中被引入:

BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/qcom/common

2. 不同产品在编译阶段能够采用不同名字

因为我们是共用一套代码,比如A产品蓝牙名称为Bluetooth_A,B产品蓝牙名称为Bluetooth_B,怎么实现这个兼容呢,有几种方法总结下:

2.1 方法一,overlay思想,其实是引用产品对应的h头文件

从上面可知定义了蓝牙名称的bdroid_buildcfg.h位于\device\qcom\common目录下。我们可以通过不同产品来引入不同产品目录的这个h文件,比如device\qcom\msm8953_64\BoardConfig.mk增加

BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR :=  device/qcom/msm8953_64/product_$(DEVELOP_PRODUCT)/bluetooth_overlay

DEVELOP_PRODUCT对应编译时选择不同的产品,比如A,把bdroid_buildcfg.h放在product_A/bluetooth_overlay下即可。

但奇怪的是在msm8953_64.mk同样的操作没有生效

2.2 方法二,让BTM_DEF_LOCAL_NAME为空,通过PRODUCT_MODEL来兼容

根据btif_default_local_name()的流程,如果BTM_DEF_LOCAL_NAME为空,那么根据PRODUCT_MODEL来赋值,而PRODUCT_MODEL我们已经根据不同产品设置不同名称,所以用这种方法最佳。

msm8953+android8.1蓝牙名称修改、多产品采用不同名字的兼容相关推荐

  1. Android8.1 MTK平台 修改蓝牙默认名称

    8.1 的默认蓝牙名称为 Android Bluedroid 通过搜索你会找到如下文件 device/generic/common/bluetooth/bdroid_buildcfg.h #ifnde ...

  2. BES2300x笔记(6) -- 如何修改蓝牙名称

    哈喽大家好,这是该系列博文的第六篇~ 篇~ <<[系列博文索引]快速通道 >> 一.前言 有时,销售对接的客户需要送样,就想拿仓库现有的产品改下蓝牙名称,然后寄给客户,但咨询过 ...

  3. Android修改蓝牙名称

    本文基于Android5.1代码 修改蓝牙默认名称的4种方法 方法一: vendor\mediatek\proprietary\frameworks\base\custom\custom.conf # ...

  4. android修改MTP及MTP(PC显示名称)、PTP盘符名、蓝牙名称

    本文是基于Android5.1的代码 PTP修改: 路径:frameworks\av\media\mtp\MtpServer.cpp if (mPtp) { // no extensions stri ...

  5. CC2541修改蓝牙名称为中文名称

    CC2541修改蓝牙名称为中文名称 CC2541的中文名称支持使用URL编码,可以使用URL编码转换器,如在百度搜索URL在线转换 例如输入我,点击URL编码,生成了%E6%88%91.我们这里使用三 ...

  6. iOS 蓝牙BLE外设名称修改后不更新的解决方案

    最近做一个BLE相关的项目,遇到一个问题. 现象: 当一个外设(peripheral)已经与iPhone连接成功后,如果修改外设的名称,iPhone重新扫描外设后获得的仍然是之前的名称.打印的perp ...

  7. CC2541-修改蓝牙名称和mac地址

    使用的蓝牙芯片是CC2541, 本文章介绍修改蓝牙名称和蓝牙MAC地址的方法. 修改蓝牙名称: 在数组scanRspData[ ]里,存放的就是蓝牙名称,你可以自己设置.GAPRole_SetPara ...

  8. SQL基础学习总结:2(表的创建、删除、更新和名称修改)

    表的创建.删除.更新和名称修改 登录MySQL(mysql -u root -p语句) 步骤: 1.首先得先使用mysql -u root -p语句登录数据库: 2.在"Enter pass ...

  9. R语言dplyr包mutate_at函数通过名称修改指定数据列的内容(使用统一的函数)实战

    R语言dplyr包mutate_at函数通过名称修改指定数据列的内容(使用统一的函数)实战 目录 R语言dplyr包mutate_at函数通过名称修改指

最新文章

  1. cookiesession的QA故事[原理篇]
  2. [java多线程] - 锁机制同步代码块信号量
  3. python编程语言零基础入门-程序员大佬,给Python零基础入门书籍教程的一些建议!...
  4. windows下安装django的一些问题
  5. 【14】全歌王歌后合集
  6. 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程
  7. [渝粤教育] 广东-国家-开放大学 21秋期末考试财务管理10164k2 (2)
  8. javascript 键值转换
  9. Image Cup,我和几位师兄一起奋战!
  10. Java中解决继承和接口默认方法冲突
  11. 开源新手必看7个小技巧
  12. java同步调用rabbitmq,使用RabbitMQ可以放慢同步发布/消耗速度
  13. Linux性能优化(九)——Kernel Bypass
  14. Windows10的启动项管理
  15. 浙大计算机海归教授,科学网—人才引进的“拿来主义”——我看浙江大学海外招聘 - 周波的博文...
  16. 熊出没全集光头强的机器人_熊出没:其实光头强早就不想当伐木工了,这些细节足以说明一切...
  17. 第四届全国大学生GIS应用技能大赛试题参考答案(上午第2套)
  18. 音乐治疗在计算机的应用,音乐治疗中虚拟现实(VR)技术的应用
  19. 一台微型计算机的好坏 主要取决于,计算机一级MSOffice应用选择题
  20. 请问哪些好用文字转语音软件?

热门文章

  1. Android的事件分发
  2. 服务器通过光纤模块挂载存储服务器
  3. oralce 数据库监听日志状态及目录:查看监听(使用grid用户登陆):
  4. PLSQLDeveloper SQL查询内容中文显示乱码
  5. 数据结构——线性表:顺序表、单向链表、循环链表、双向链表
  6. js 点击最后一个 和倒数第二个_精选一组趣知识;最后一个节目是压轴还是压台...
  7. Linux下shel脚本之批量修改文件扩展名
  8. linux java远程调试_Visual Studio 2017 Linux远程调试(gdbserver)
  9. 积木赛尔号机器人_精灵伙伴帮你打怪?我的世界x赛尔号联动即将开启!
  10. python2必须安装步骤_Python入门-第三方库的安装及环境配置(2)