核心內核要求

Android 8.0 及更高版本要求最低核心版本和核心配置,並透過供應商測試套件 (VTS) 和無線 (OTA) 更新進行驗證。 Android 裝置核心必須啟用核心.config支援以及在運行時透過procfs檔案系統讀取核心配置的選項。

核心.config支持

所有裝置核心必須啟用整個android-base.cfg ,其中必須包含以下核心配置選項(或其等效的核心版本):

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 的 Android 裝置的所有其他 SoC 必須使用核心 4.4.107 或更高版本。
  • 基於 4.14 的裝置核心必須包含 4.14.42 或更高版本的 LTS。
  • 無論發布日期為何,所有在 Android 8.0 及更高版本上發佈裝置的 SoC 仍需進行啟用 Treble 所需的核心變更。
  • 升級到 Android 8.0 或更高版本的舊版 Android 裝置可以繼續使用其原始基本核心版本。

有關 LTS 內核的詳細信息,請參閱長期穩定內核Android 通用內核

設備樹支援

如果平台不支援高級配置和電源介面 (ACPI)規範,則必須啟用內核中的設備樹支持,並且引導程式必須將設備樹形式的硬體描述傳遞給內核。 devicetree 也必須可供 Android 讀取,並且必須能夠將供應商和 ODM 特定的參數傳遞給 Android。 CONFIG_OF以及所有其他特定於設備和子系統的CONFIG_OF_*核心配置選項是強制性的。

使用調試檔案系統

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

在 Android 11 中,無法在生產裝置上存取或安裝DebugFS ,因此裝置製造商必須將其刪除。在 Android 11 之前, dumpstateDebugFS存取綁定器統計資料。由於使用 Android 11 或更高版本啟動的使用者建置無法存取DebugFS ,因此dumpstatebinderfs存取活頁夾統計資料。若要啟用Binderfs ,請啟用核心配置CONFIG_ANDROID_BINDERFS

在 Android 11 中,VTS 強制執行這兩個要求:

  • 設備的核心配置中未啟用CONFIG_DEBUG_FS
  • DebugFS未列在/proc/filesystems下。

Android 11 中的 DebugFS

下表描述了 Android 11 如何支援這三個類別。請注意,以下內容僅適用於 userdebug 版本,因為無法在使用者版本中安裝DebugFS 。對於在 Android 11 上啟動的設備,切勿在使用者版本中安裝DebugFS

使用案例Android 11 用戶調試構建
啟動期間一次DebugFS檔案初始化。此訪問在啟動期間僅發生一次 Vendor init 執行此操作。
錯誤報告產生:dumpstate HAL 讀取DebugFS文件,這些文件成為錯誤報告的一部分。由 dumpstate 工具呼叫時,由DumpstateBoard()內的 dumpstate HAL 完成。
特定於設備的測試和驗證Adb 根目錄和 shell