本頁說明為自有裝置設定建構版本時,您可能需要執行的幾項工作。
建立自訂閃光燈設定
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)。
判斷快閃鎖定狀態
如果您要為裝置建構自訂 flashboot 精靈 (flashbootd),必須能夠取得系統啟動載入程式和系統啟動載入程式鎖定狀態。getFlashLockState() @SystemApi 會傳輸系統啟動載入程式狀態,而 PersistentDataBlockManager.getFlashLockState() 系統 API 會在相容裝置上傳回系統啟動載入程式的鎖定狀態。
| 傳回值 | 健康狀況 |
|---|---|
FLASH_LOCK_UNKNOWN |
如果裝置支援刷機鎖定/解鎖功能,但先前不支援取得刷機鎖定狀態所需的系統啟動載入程式變更,則只有升級至 Android 7.x 以上版本時,才會傳回這個值。
|
FLASH_LOCK_LOCKED |
如果裝置不支援刷機鎖定/解鎖 (即裝置一律處於鎖定狀態),或裝置支援刷機鎖定/解鎖,但處於鎖定狀態,就會傳回這個值。 |
FLASH_LOCK_UNLOCKED |
任何支援閃爍鎖定/解鎖的裝置都會傳回此值,且裝置處於解鎖狀態。 |
製造商應測試系統啟動載入程式鎖定和解鎖時,裝置傳回的值。舉例來說,AOSP 包含參考實作,可根據 ro.boot.flash.locked 開機屬性傳回值。程式碼範例位於下列目錄中:
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.javaframeworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java