本頁面說明為自己的裝置設定版本時,可能需要執行的幾項工作。
建立自訂閃光燈設定
Fastboot 指令是在名為 fastboot-info.txt
的構件中定義。如果您建構多個目標,$OUT_DIR 中就會有多個 fastboot-info.txt
檔案。$ANDROID_PRODUCT_OUT
會指向您建立的最新目標。本頁面列出 fastboot 執行的工作,並可使用 m fastboot_info
重新產生。您可以修改 fastboot-info.txt
檔案,引入自訂閃爍邏輯。
fastboot-info.txt
檔案支援下列指令:
flash %s
:閃爍指定的分區。可選用的引數包括--slot-other,
filename_path, and
--apply-vbmeta`。update-super
:更新超級分區。if-wipe
:如果指定了清除作業,則會依條件執行其他元件。erase %s
:清除指定的分割區 (只能與if-wipe
搭配使用 -> 例如if-wipe erase cache
)。
判斷閃光燈鎖定狀態
如果您要為裝置建構自訂的 flasot 守護程序 (flasotd),就必須能夠取得系統啟動載入程式和系統啟動載入程式鎖定狀態。getFlashLockState()
@SystemApi
會傳輸系統啟動載入程式狀態,而 PersistentDataBlockManager.getFlashLockState()
系統 API 會傳回相容裝置的系統啟動載入程式鎖定狀態。
傳回值 | 健康狀況 |
---|---|
FLASH_LOCK_UNKNOWN | 只有升級至 Android 7.x 以上版本的裝置才會傳回此值,因為這些裝置先前不支援取得刷新鎖定狀態所需的系統啟動載入程式變更 (如果裝置支援刷新鎖定/解鎖功能的話)。
|
FLASH_LOCK_LOCKED | 由不支援閃爍鎖定/解鎖 (也就是裝置一律處於鎖定狀態) 的裝置,或支援閃爍鎖定/解鎖且處於鎖定狀態的裝置傳回。 |
FLASH_LOCK_UNLOCKED | 由任何支援閃爍鎖定/解鎖功能且處於解鎖狀態的裝置傳回。 |
製造商應測試裝置在系統啟動載入程式鎖定和解鎖的情況下傳回的值。舉例來說,Android 開放原始碼計畫包含參考實作項目,可根據 ro.boot.flash.locked
啟動屬性傳回值。程式碼範例位於以下目錄中:
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java