日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2025/4/16 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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蓝牙名称修改、多产品采用不同名字的兼容的全部內容,希望文章能夠幫你解決所遇到的問題。

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