供應商接口對象

本文檔描述了供應商介面物件(VINTF 物件)的設計,該物件聚合有關設備的相關資訊並透過可查詢的 API提供該資訊。

VINTF 物件設計

VINTF 物件直接從設備收集它所需的一些資訊。其他方面(例如清單)是用 XML 靜態描述的。

圖 1.清單、相容性矩陣和運行時可收集的信息

VINTF 物件設計為裝置和框架元件提供以下內容:

對於設備對於框架
  • 定義靜態組件(設備清單檔案)的架構。
  • 新增了用於定義給定設備的設備清單檔案的建置時支援。
  • 定義執行時可查詢的 API ,用於擷取裝置清單檔案(以及其他執行時間可收集的資訊)並將它們打包到查詢結果中。

VINTF 對象必須可靠,無論何時要求該對象,都必須提供相同的完整資訊(請參閱注意事項)。

清單和矩陣

從 Android 8.0 開始,執行時間 API 會查詢裝置上的內容,並將資訊傳送至無線 (OTA)更新伺服器和其他有興趣的各方(例如 CTS DeviceInfo )。有些資訊是在執行時檢索的,有些資訊是靜態定義的。

  • 設備清單描述了設備可以向框架提供的靜態元件。
  • 框架相容性矩陣描述了 Android 框架對給定裝置的期望。此矩陣是一個靜態實體,其組成是在開發下一版本的 Android 框架期間手動確定的。
  • 框架清單描述了框架可以向設備提供的高級服務。
  • 設備相容性矩陣描述了供應商映像要求框架提供的服務。它的成分是在設備開發過程中手動確定的。

這兩對清單和矩陣必須在 OTA 時進行協調,以確保設備可以獲得與設備功能相容的框架更新。一般來說,清單描述了提供的內容,相容性矩陣描述了需要的內容。

本節包括有關清單和矩陣的以下詳細資訊:

  • 清單定義設備清單、框架清單和清單檔案架構。
  • 相容性矩陣定義相容性矩陣的架構。
  • FCM 生命週期詳細介紹如何棄用和刪除 HIDL HAL,以及如何修改 FCM 檔案以反映 HAL 版本的狀態。
  • DM 開發描述供應商如何在新設備的設備清單中定義和聲明目標 FCM 版本,或實現新的 HAL 版本並在升級舊設備的供應商映像時增加目標 FCM 版本。
  • 匹配規則定義相容性矩陣和清單之間成功匹配的規則。