核心核心需求

Android 8.0 以上版本要求最低核心版本和核心 通過供應商測試套件 (VTS) 和無線更新技術驗證 (OTA) 更新。Android 裝置核心必須啟用核心 .config 以及透過 kubectl 指令在執行階段讀取核心設定的選項 procfs 檔案系統。

支援核心 .config

所有裝置核心都必須啟用 android-base.cfg,當中必須包含以下內容 kernel-config 選項 (或核心版本對等項目):

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

核心版本

Android 9 的最低長期支援版 (LTS) 核心版本需求為 4.4.107、4.9.84 和 4.14.42。

  • 2018 年所有進化的 SoC 都必須透過核心推出 4.9.84 以上版本。
  • 用於啟動 Android 9 的所有其他 SoC 必須使用核心 4.4.107 以上版本
  • 以 4.14 為基礎的裝置核心必須包含 4.14.42 以上版本的 LTS 版本。
  • 無論產品上市日期為何,只要是搭載 Android 8.0 裝置的 SoC,都會啟動 以上版本仍會受到啟用 Treble 所需的核心變更影響。
  • 舊型 Android 裝置只要升級至 Android 8.0 以上版本, 使用原始的基本核心版本

如要進一步瞭解 LTS 核心,請參閱 長期 穩定版核心 Android 常見核心

支援 Devicetree

如果平台不支援進階設定和電源介面 (ACPI) 規格, 必須在核心中啟用 devicetree 支援功能,且系統啟動載入程式必須傳遞 硬體說明,格式為核心的裝置樹狀結構。Devicetree 也必須可供 Android 讀取,且必須能夠 和 ODM 專屬參數CONFIG_OF 為必要項目, 以及其他裝置和子系統專用的CONFIG_OF_* 核心設定選項

使用 DebugFS

實作供應商介面不得依賴 DebugFS 檔案系統存取偵錯資訊 這是因為在 Android 7.0 到 10 中,DebugFS 可以啟用。 但 VTS 可能在卸載 DebugFS 的情況下完成。

在 Android 11 中,您無法存取 DebugFS,或是無法掛接 因此必須由裝置製造商將其移除。在 Android 11 之前, dumpstate 已從 DebugFS 存取繫結器統計資料。 因為透過 Android 11 以上版本啟動的使用者版本無法存取 DebugFSdumpstate 會存取以下繫結器統計資料: binderfs。如要啟用 Binderfs,請啟用核心 CONFIG_ANDROID_BINDERFS 設定。

在 Android 11 中,VTS 會強制執行以下兩項規定:

  • 未在裝置的核心設定中啟用 CONFIG_DEBUG_FS
  • DebugFS 不屬於 /proc/filesystems 之下,

Android 11 中的 DebugFS

下表說明這三種類別 Android 11 支援的功能。請注意, 由於 DebugFS 無法 掛接於使用者的建構作業中一律不要在使用者版本中掛接 DebugFS,以支援裝置 我們在 Android 11 上推出的應用程式

用途 Android 11 使用者偵錯版本
一次性 DebugFS 檔案在啟動期間初始化。 這項存取權在啟動期間「隻共享一次」。 這項作業是由供應商啟動。
產生錯誤報告:傾印狀態 HAL 讀取 DebugFS 檔案,包含在錯誤報告中。 叫用時,由 DumpstateBoard() 內的轉儲狀態 HAL 完成 由轉儲工具處理
特定裝置的測試與驗證 Adb 根層級和殼層