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 之前, dumpstate
從DebugFS
存取綁定器統計資料。由於使用 Android 11 或更高版本啟動的使用者建置無法存取DebugFS
,因此dumpstate
從binderfs
存取活頁夾統計資料。若要啟用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 |