供應商接口對象

本文檔描述了供應商接口對象(VINTF 對象)的設計,該對像匯總了有關設備的相關信息,並通過可查詢的 API使該信息可用。

VINTF 對象設計

VINTF 對象直接從設備收集一些它需要的信息。其他方面,例如清單,是在 XML 中靜態描述的。

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

VINTF 對象設計為設備和框架組件提供以下內容:

對於設備對於框架
  • 為靜態組件(設備清單文件)定義架構。
  • 添加構建時間支持以定義給定設備的設備清單文件。
  • 在運行時定義可查詢的 API ,該 API 檢索設備清單文件(連同其他運行時可收集的信息)並將它們打包到查詢結果中。

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

清單和矩陣

從 Android 8.0 開始,運行時 API 會查詢設備上的內容並將該信息發送到無線 (OTA)更新服務器和其他相關方(例如 CTS DeviceInfo )。有些信息是在運行時檢索的,有些是靜態定義的。

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

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

本節包括清單和矩陣的以下詳細信息:

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