Android 裝置包含數個磁碟分割,在 啟動程序。
標準分區
boot
分區。這個分區含有核心映像檔,已建立 使用mkbootimg
。您可以使用虛擬分區來刷新任一映像檔 而不必刷新啟動分區 這個分區還包含先前啟動的裝置中的一般 ramdisk Android 13。kernel.虛擬
kernel
分區會覆寫核心 (zImage
、zImage-dtb
、Image.gz-dtb
),方法是將新的核心映像檔寫入舊的 核心映像檔如果提供的開發核心不相容,您可以 您需要更新vendor
、system
或dtb
分區 (如有),則更新為 新增關聯核心模組ramdisk。虛擬
ramdisk
分區會覆寫 ramdisk 參數,方法是: 將新的 ramdisk 映像檔寫入舊的 ramdisk 映像檔。
覆寫作業會決定現有映像檔的開始位置 ,然後將新圖片複製到該位置。新映像檔 (核心或 ramdisk) 可能會大於現有的值;騰出空間 系統啟動載入程式可以按照映像檔移動資料,或是使用 發生錯誤。
init_boot
分區。這個分區包含 搭載 Android 13 以上版本的裝置。system
分區。這個分區包含 Android 架構。odm
分區。這個分區包含原始設計製造商 (ODM) 對晶片系統 (SoC) 供應商主機板支援套件 (BSP) 進行自訂。 這類自訂功能可讓 ODM 取代或自訂 SoC 元件。 為主機板專用元件、Daemon 和 硬體抽象層 (HAL) 的 ODM 專屬功能。這個分區為 選用;通常用於包含自訂項目 為多個硬體 SKU 使用單一供應商映像檔。詳情請參閱「ODM 分區。odm_dlkm
分區。這個分區專用於儲存 ODM 核心 模組。將 ODM 核心模組儲存在odm_dlkm
分區 (而非 至odm
分區),則可更新 ODM 核心模組 不必更新odm
分區recovery
分區。這個分區會儲存復原映像檔, 會在 OTA 程序期間啟動。支援流暢體驗模式的裝置 更新可將復原映像檔儲存為boot
或init_boot
映像檔包含 ramdisk,而非單獨的 圖片)。cache
分區。這個分區會儲存暫存資料,而且 (選用) 裝置無需順暢更新快取分區 但必須可清除。分區 大小取決於裝置類型和userdata
空間的可用性。 通常不超過 50 MB 至 100 MB 就足夠了。misc
分區。這個分區可供復原分區使用, 4 KB 以上。userdata
分區。這個分區含有使用者安裝的應用程式 包括自訂資料metadata
分區。這個分區的用途是儲存中繼資料 裝置使用中繼資料時的加密金鑰 加密。大小為 16 MB 以上。未加密,也不會建立資料快照。 裝置恢復原廠設定時會清除當中的資料。這個分區的用量為 嚴格限制vendor
分區。這個分區包含 。如果裝置本身不包含專屬資訊 可以省略這個分區vendor_dlkm
分區。這個分區專門用來儲存供應商 核心模組。在vendor_dlkm
分區中儲存供應商核心模組 (而非vendor
分區) 可讓您更新核心 不必更新vendor
分區radio
分區。這個分區內含無線電圖片,這是必要的 的裝置必須具有無線電特定軟體和 專屬分區tos
分區。這個分區會儲存 Trusty OS 的二進位映像檔 且只有在裝置搭載 Trusty 的情況下才使用。詳情請參閱《服務條款》 分區。pvmfw
分區。這個分區會儲存受保護的虛擬機器 韌體 (pvmfw) 是在受保護的 VM 中執行的第一個程式碼。詳情請見 受保護的虛擬機器韌體 ,掌握更多詳細資訊。
動態分區
搭載 Android 11 以上版本的裝置可支援 動態分區是 Android 的使用者空間分區系統 支援在無線更新 (OTA) 期間建立、調整或刪除分區大小 更新。詳情請參閱「動態 分區。
指定關鍵分區
如果裝置需要特定分區或資料才能執行,您必須
使用完全受保護或可重新刷新的方式儲存
只要使用 fastboot oem
指令,就能重新建構、提供或擷取。
包括裝置專屬設定、序號、
校正資料等
Android 11 的異動
Android 11 對分割作業進行了多項變更 包括連結程式庫和新 Soong 圖片變化版本的限制。
圖 1. Android 11 中的分區版面配置
單一系統映像檔 (SSI)。新的概念性圖片,其中包含
system
和system_ext
張圖片。當資料集擁有相同的分區時 目標裝置的使用者,這些裝置就能共用 SSI 並略過建構system
和system_ext
張圖片。system_ext
分區。可使用system
資源的新分區 並包含具有以下特性的系統模組:擴充
system
分區中的 Android 開放原始碼計畫系統模組。建議做法 將這類模組上游至 Android 開放原始碼計畫,以便安裝到system
和分區封裝原始設備製造商 (OEM) 或 SoC 專用模組。建議您取消套裝組合這類模組 因此可以安裝到
product
或vendor
分區。
system
分區。原始設備製造商 (OEM) 產品使用的通用系統映像檔。三 建議將專屬模組移出system
分區, 向上串流到 Android 開放原始碼計畫,或將其移至system_ext
分區。product
分區。這個分區現在可以使用允許的介面 安裝未搭配任何其他元件的產品專屬模組 多個分區
VNDK 相關異動
Vendor Native Development Kit (VNDK)
是安裝在 system
分區中的一組程式庫,且設計為
專為廠商實作 HAL 而設計
在 Android 10 以下版本中,
vendor
分區可在以下位置連結至 VNDK 程式庫:system
分區,但無法連結至system
中的其他程式庫product
分區中的原生模組可連結至任何程式庫 在system
分區中。在 Android 11 以上版本中,
product
和vendor
分區可連結至system
分區中的 VNDK 程式庫,但無法system
分區中其他程式庫的連結。
Soong 產品子類
Soong 建構系統使用映像檔變化版本來分割
建構依附元件原生模組 (/build/soong/cc
) 可以修改系統
核心變化版本與供應商程序模組
供應商子類;圖片變化版本中的模組無法連結至
不同的圖片變化版本
在 Android 10 以下版本中,系統模組會自動建立核心變化版本。 也可以在其中定義
vendor_available: true
,建立供應商變化版本Android.bp
個檔案;可讓廠商模組連結至系統模組。 VNDK 程式庫是system
程式庫的供應商變化版本, 定義vendor_available: true
,即可為供應商模組建立供應商變化版本 所含的Android.bp
檔案 (請參閱 example)。在 Android 11 中,系統模組也可以 建立產品子類 (以及核心子類和供應商子類) 方法是 定義
vendor_available: true
。在 Android 12 以上版本中,系統模組
vendor_available: true
除了核心外,還會建立供應商變化版本 變數。如要建立產品子類,必須為product_available: true
部分沒有product_available: true
的 VNDK 程式庫無法 適用於產品模組