藍牙

從 Android 13 開始,藍牙是可選的 Mainline 模組。Bluetooth Mainline 模組旨在為所有 Android 使用者提供一致且高品質的 Bluetooth 體驗。

動機

藍牙模組的主要動機,是為合作夥伴、使用者和應用程式開發人員提供優質體驗。我們將透過以下幾種主要方式達成這項目標:

  1. 更快、更頻繁地發布更新,提供新功能、錯誤修正、可互操作性修正和安全性修正。
  2. 減少合作夥伴的重複性工作
    1. 減少每年重新設定程式碼集的額外負擔。
    2. 減少為舊版裝置推出 OTA 的額外負擔。
  3. 減少分散現象,為應用程式開發人員和使用者提供一致的體驗
  4. 改善 Android 生態系統中的全球安全性。許多 Android 安全漏洞都涉及藍牙。

套件格式

這個套件是 APEX,其中包含藍牙 APK (目前在 packages/modules/Bluetooth/android/app 中定義)、原生程式庫 (libbluetooth.solibbluetooth_jni.so)、API (位於 packages/modules/Bluetooth/framework/java/android/bluetooth 下方) 和 HIDL 介面。

模組邊界

主線藍牙模組架構

圖 1. 藍牙模組邊界

我們正在將所有現有的存放區遷移至 system/bt 下的單一存放區。圖 1 代表模組目前的組成目錄。

依附元件

藍牙模組具有下列依附元件:

  • 即將清除的傳入和傳出 @hide API 用量
  • 藍牙 APK、libbluetooth.solibbluetooth_jni.so 所需的程式庫