日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/4/16 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 msm8953+android8.1蓝牙名称修改、多产品采用不同名字的兼容 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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蓝牙名称修改、多产品采用不同名字的兼容的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。