藍牙

Bluetooth 是從 Android 13 開始的可選 Mainline 模塊。Bluetooth Mainline 模塊旨在為所有 Android 用戶提供一致、高質量的藍牙體驗。

動機

藍牙模塊背後的主要動機是為合作夥伴、用戶和應用程序開發人員提供高質量的體驗。我們將通過幾個關鍵方式實現這一目標:

  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下) packages/modules/Bluetooth/framework/java/android/bluetooth )和我們的 HIDL 接口。

模塊邊界

主線藍牙模塊架構

圖 1.藍牙模塊邊界

我們正在將所有現有的存儲庫遷移到system/bt下的一個存儲庫中。圖 1 表示將構成我們模塊的當前目錄。

依賴關係

藍牙模塊依賴於以下內容:

  • 將被清理的傳入和傳出@hide API 用法
  • 藍牙 APK、 libbluetooth.solibbluetooth_jni.so所需的庫