供應商 API 級別是指 供應商分區。這是雙向介面;這個 Vertex AI 會說明 廠商分區提供給系統分區 (即硬體環境) 抽象層或 HAL 介面),以及供應商分區的 API 所需的系統分區 (即低階原生開發人員套件或 LLNDK 介面)。
供應商 API 級別也會用來確定「供應商軟體要求」 (VSR),則包含一系列功能性和非功能性需求 廠商分區中的軟體必須滿足
本頁其餘部分將說明系統 屬性 (視您的 Android 版本而定) 來判斷供應商 API 級別。
供應商凍結
Android 可讓廠商凍結特定版本的供應商分區 與 VSR 合作組合 Android 會根據供應商分區設定的功能 供應商 API 級別。在執行階段中 系統分區中執行的軟體會配合調整 供應商分區的供應商 API 級別。舉例來說, 如果不受 供應商分區的 API 級別
只有在您建立 Android 相容裝置。
判斷供應商 API 級別 (Android 14-QPR3 以上版本)
如果是 Android 14-QPR3 以上版本,供應商 API 級別為 代表 SDK API 級別和供應商 API 級別不同步。
根據不同的發布時間表,Android 14-QPR3 和之後的版本,供應商 API 級別已完全掌握 與 SDK API 級別分離。為確保分離重複情形, 供應商 API 級別的日期格式為 YYYYMM (年份和月份) 而 SDK 級別則是整數
Android 14-QPR3 以上版本包含下列系統
與供應商 API 級別 (ro.vendor.api_level
) 相關的屬性:
系統屬性 | 格式 | 說明 | 初始設定 |
---|---|---|---|
ro.board.api_level |
YYYYMM (年年年年月) | 晶片組軟體支援的廠商 API 級別。系統會為所有方塊組設定這個屬性。 | 此設定是由建構系統自動設定。 |
ro.board.first_api_level |
YYYYMM (年年年年月) | 首次發布晶片組軟體的供應商 API 級別。這項屬性為晶片組功能,若 SoC 晶片組符合供應商凍結資格,由 SoC 供應商設定。初始設定後即無法修改。 | SoC 供應商使用 BOARD_SHIPPING_API_LEVEL 進行這項設定。 |
ro.product.first_api_level |
整數 | 裝置最初啟動時的 SDK API 級別。 | 這個屬性是由原始設備製造商 (OEM) 設定,即使作業系統升級後也一律不會更新。 |
ro.vendor.api_level |
YYYYMM (年年年年月) | 裝置整體必須符合的供應商 API 級別。 | 在下方提供說明。 |
ro.board.api_frozen |
布林值 | 如果 ro.board.api_level 代表的供應商 API 級別已完成,則這個屬性會設為 true 。 |
如未設定這項屬性,系統會預設為 false 。 |
ro.llndk.api_level |
YYYYMM (年年年年月) | 系統分區中目前的 LLNDK 提供的供應商 API 級別 YYYYMM。LLNDK 具有回溯相容性,因此小於或等於此 API 級別的任何供應商映像檔都可以以此系統映像檔刷新。 | 這個屬性是由系統分區設定。 |
ro.vendor.api_level
屬性是由以下其中一種方式衍生:
如果晶片組符合供應商凍結資格:
ro.vendor.api_level = min( ro.board.api_level, AVendorSupport_getVendorApiLevelOf(ro.product.first_api_level))
如果晶片組並未遭到廠商凍結:
ro.vendor.api_level = AVendorSupport_getVendorApiLevelOf(ro.product.first_api_level)
AVendorSupport_getVendorApiLevelOf()
方法會判斷相應的
供應商 API 級別例如:
AVendorSupport_getVendorApiLevelOf(35)
,其中 35
是
2024 年的主要 Android 版本會傳回 202404
,這是
Android 14-QPR3 目前的 Vendor API 級別為
設定。
決定供應商 API 級別 (Android 13)
供應商 API 級別與 SDK API 級別相同,後者適用於 app-OS 介面,並且會在每年在新 Android 平台推出時更新一次 向 Android 開放原始碼計畫提出上訴
Android 13 包含下列系統
與供應商 API 級別 (ro.vendor.api_level
) 相關的屬性:
系統屬性 | 格式 | 說明 | 初始設定 |
---|---|---|---|
ro.board.first_api_level |
整數 | 首次發布晶片組軟體的供應商 API 級別。這項功能僅適用於晶片組,無法由 SoC 供應商或原始設備製造商 (OEM) 修改。這項屬性僅適用於符合供應商凍結資格的晶片組 | 透過在 device.mk 檔案中設定 BOARD_SHIPPING_API_LEVEL 來建立值。 |
ro.board.api_level |
整數 | 晶片組軟體支援的廠商 API 級別。這項屬性僅適用於符合供應商凍結資格的晶片組。系統會為所有方塊組設定這個屬性。 | 一開始,建構系統會將此屬性值的值設為與 ro.board.first_api_level 相同的值,但如果供應商分區升級,則可更新值。 |
ro.product.first_api_level |
整數 | 裝置最初啟動時的 SDK API 級別。 | 這個屬性是由原始設備製造商 (OEM) 設定,即使作業系統升級後也一律不會更新。 |
ro.vendor.api_level |
整數 | 裝置整體必須符合的供應商 API 級別。 | 在下方提供說明。 |
ro.vndk.version |
整數 | 供應商分區建構的 VNDK 版本。 | 這個屬性是由系統分區設定。 |
ro.vendor.build.version.sdk |
整數 | 建構供應商分區的來源樹狀結構 SDK API 級別。 | |
ro.vendor.build.version.release |
整數 | 建構供應商分區的來源樹狀結構平台版本。 | |
ro.vendor.build.version.release_or_codename |
整數 | 建構供應商分區的來源樹狀結構代碼名稱。 |
ro.vendor.api_level
屬性會自動設為最小值 ro.board.api_level
(如未定義 ro.board.api_level
,則為 ro.board.first_api_level
)。
ro.product.first_api_level
。