IDeviceFlasher

public interface IDeviceFlasher

com.android.tradefed.targetprep.IDeviceFlasher


在裝置上顯示裝置圖片。

摘要

公用方法

default boolean checkAntiRollback(ITestDevice device, IDeviceBuildInfo deviceBuild)

檢查是否已觸發防回溯機制。

abstract void flash(ITestDevice device, IDeviceBuildInfo deviceBuild)

在裝置上刷新版本。

default Set<String> getAdditionalFileFilters()

取得其他建構構件的篩選器。

abstract CommandStatus getSystemFlashingStatus()

擷取刷寫主要系統分割區的指令執行狀態。

abstract IDeviceFlasher.UserDataFlashOption getUserDataFlashOption()

Gets whether the user data image should be flashed, wiped, or retained

abstract void overrideDeviceOptions(ITestDevice device)

裝置的覆寫選項。

default void postFlashOperations(ITestDevice device, IDeviceBuildInfo deviceBuild)

實際刷寫重要部分後,必須執行的所有清除作業和檢查。

default void preFlashOperations(ITestDevice device, IDeviceBuildInfo deviceBuild)

所有設定作業和檢查都必須在實際閃爍重要部分之前進行。

abstract void setDataWipeSkipList(Collection<String> dataWipeSkipList)

設定 /data 下的路徑清單,避免在使用 ITestsZipInstaller 時清除這些路徑

請注意,略過清單的精細程度為 /data 的直接子項。

default void setExtraMetadata(Map<String, String> metadata)

允許刷機工具接收額外的中繼資料選項。

abstract void setFlashingResourcesRetriever(IFlashingResourcesRetriever retriever)

設定 Flasher 可擷取資源檔案以進行刷機的機制。

abstract void setForceSystemFlash(boolean forceSystemFlash)

設定系統是否一律要刷機,即使目前執行的版本也是如此

default void setRamdiskPartition(String ramdiskPartition)

設定 ramdisk 分割區

default void setShouldFlashRamdisk(boolean shouldFlashRamdisk)

設定是否要在透過映像檔 ZIP 檔案更新裝置後,刷入額外的 RAM 磁碟

abstract void setUserDataFlashOption(IDeviceFlasher.UserDataFlashOption flashOption)

切換是否應清除、保留或刷入使用者資料映像檔

abstract void setWipeTimeout(long timeout)

設定清除資料的逾時時間。

default boolean shouldFlashRamdisk()

檢查是否已設定刷機程式,以便在透過映像檔 ZIP 檔案更新裝置後,刷入額外的 ramdisk

default boolean supportsFlashingInFastbootD()

實作刷機程式的裝置是否可在 fastbootd 模式下刷機。

default void tearDownFlasher()

這是實作閃爍的最後機會,可自行清理

公用方法

checkAntiRollback

public boolean checkAntiRollback (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

確認是否觸發防回溯機制。

參數
device ITestDevice

deviceBuild IDeviceBuildInfo

傳回
boolean

擲回
DeviceNotAvailableException

刷新

public abstract void flash (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

在裝置上刷新版本。

韌體更新完成後,系統會立即傳回結果。呼叫端應等待裝置上線並可供使用,再繼續進行測試。

參數
device ITestDevice:要刷新的 ITestDevice

deviceBuild IDeviceBuildInfo:要刷新的 IDeviceBuildInfo

擲回
DeviceNotAvailableException 如果裝置沒有回應
TargetSetupError 如果無法刷新建構版本

getAdditionalFileFilters

public Set<String> getAdditionalFileFilters ()

取得其他建構構件的篩選器。

部分刷機工具需要特定建構構件,但這些構件並非預設使用。這類刷機工具應覆寫這個方法,這樣刷機工具的每位使用者就不必瞭解這些檔案,也不必提供指令列選項。

請注意,這個方法是在 IDeviceFlasher 的暫時執行個體上叫用,因此不應依賴預設建構函式提供的狀態以外的任何狀態。

Set 中的字串會解讀為檔案模式,系統會擷取符合模式的所有檔案。

這個方法預設會傳回空白的 Set。

傳回
Set<String>

getSystemFlashingStatus

public abstract CommandStatus getSystemFlashingStatus ()

擷取主要系統分割區的閃爍指令執行狀態。

請注意,如果未刷入系統分割區 (系統已具備要刷入的建構版本),指令狀態可能會是 null

傳回
CommandStatus

getUserDataFlashOption

public abstract IDeviceFlasher.UserDataFlashOption getUserDataFlashOption ()

取得是否應清除、保留或清除使用者資料映像檔

傳回
IDeviceFlasher.UserDataFlashOption 是否要清除、保留或刷入使用者資料映像檔

overrideDeviceOptions

public abstract void overrideDeviceOptions (ITestDevice device)

覆寫裝置的選項。如果特定裝置不支援預設選項值,可用於覆寫預設選項值。

postFlashOperations

public void postFlashOperations (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

所有必須在實際刷新重要部分後進行的清理作業和檢查。這些作業都不會納入並行控制的重要部分。

參數
device ITestDevice:要刷新的 ITestDevice

deviceBuild IDeviceBuildInfo:要刷新的 IDeviceBuildInfo

擲回
DeviceNotAvailableException 如果裝置沒有回應
TargetSetupError 如有任何設定失敗

preFlashOperations

public void preFlashOperations (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

所有設定作業和檢查都必須在實際閃爍關鍵部分之前進行。這些作業都不會納入並行控制的重要部分。

參數
device ITestDevice:要刷新的 ITestDevice

deviceBuild IDeviceBuildInfo:要刷新的 IDeviceBuildInfo

擲回
DeviceNotAvailableException 如果裝置沒有回應
TargetSetupError 如有任何設定失敗

setDataWipeSkipList

public abstract void setDataWipeSkipList (Collection<String> dataWipeSkipList)

設定 /data 下的路徑清單,避免在使用 ITestsZipInstaller 時清除這些路徑

請注意,略過清單的精細程度為 /data 的直接子項。

參數
dataWipeSkipList Collection

setExtraMetadata

public void setExtraMetadata (Map<String, String> metadata)

允許刷機工具接收額外的中繼資料選項。

參數
metadata Map

setFlashingResourcesRetriever

public abstract void setFlashingResourcesRetriever (IFlashingResourcesRetriever retriever)

設定 Flasher 擷取資源檔案以進行刷機的機制。

參數
retriever IFlashingResourcesRetriever:要使用的 IFlashingResourcesRetriever

setForceSystemFlash

public abstract void setForceSystemFlash (boolean forceSystemFlash)

設定是否一律要刷入系統,即使目前執行的版本相同也一樣

setRamdiskPartition

public void setRamdiskPartition (String ramdiskPartition)

設定 ramdisk 分割區

setShouldFlashRamdisk

public void setShouldFlashRamdisk (boolean shouldFlashRamdisk)

設定是否要在透過映像檔 ZIP 更新裝置後,刷入額外的 ramdisk

setUserDataFlashOption

public abstract void setUserDataFlashOption (IDeviceFlasher.UserDataFlashOption flashOption)

切換是否要清除、保留或清除使用者資料映像檔

setWipeTimeout

public abstract void setWipeTimeout (long timeout)

設定清除資料的逾時時間。

參數
timeout long

shouldFlashRamdisk

public boolean shouldFlashRamdisk ()

檢查是否已設定刷機程式,以便在透過映像檔 ZIP 更新裝置後,刷入額外的 ramdisk

傳回
boolean

supportsFlashingInFastbootD

public boolean supportsFlashingInFastbootD ()

實作刷機程式的裝置是否可在 fastbootd 模式下刷機。

傳回
boolean

tearDownFlasher

public void tearDownFlasher ()

這是實作閃爍燈的最後機會,可自行清理