裝置 FlashPreparer

public abstract class DeviceFlashPreparer
extends BaseTargetPreparer implements IConfigurationReceiver

java.lang.Object
   ↳ com.android.tradefed.targetprep.BaseTargetPreparer
     ↳ com.android.tradefed.targetprep.DeviceFlashPreparer


ITargetPreparer 在實體 Android 硬體上刷新映像檔。

摘要

公用建構函式

DeviceFlashPreparer()

公用方法

IBuildInfo getBuild(TestInformation testInfo)

納入 getBuildInfo,因此我們做出變更,以便在特定情況下覆寫這個資訊。

boolean isIncrementalFlashingEnabled()
boolean isIncrementalFlashingForceDisabled()
void setAllowCrossReleaseFlashing(boolean allowCrossReleaseFlashing)
void setAllowUnzipBaseline(boolean allowUnzipBaseline)
void setApplySnapshot(boolean applySnapshot)
void setConfiguration(IConfiguration configuration)

插入使用中的 IConfiguration

void setIgnoreHostOptions(boolean ignoreHostOptions)
void setUp(TestInformation testInfo)

void setUserDataFlashOption(IDeviceFlasher.UserDataFlashOption flashOption)

設定 userdata-flash 選項

void tearDown(TestInformation testInfo, Throwable e)

保護方法

void checkDeviceProductType(ITestDevice device, IDeviceBuildInfo deviceBuild)

在刷新前可能進行檢查,確保裝置與版本資訊的比對結果符合預期。

abstract IDeviceFlasher createFlasher(ITestDevice device)

建立要使用的 IDeviceFlasher

long getDeviceBootWaitTime()

取得裝置啟動等待時間

IHostOptions getHostOptions()

取得要使用的 IHostOptions 例項。

void reportFlashMetrics(String branch, String buildFlavor, String buildId, String serial, long queueTime, long flashingTime, CommandStatus flashingStatus)

將裝置刷新時間資料回報給指標後端

void setSkipPostFlashBuildIdCheck(boolean skipPostFlashBuildIdCheck)
void setUseIncrementalFlashing(boolean incrementalFlashing)

公用建構函式

裝置 FlashPreparer

public DeviceFlashPreparer ()

公用方法

getBuild

public IBuildInfo getBuild (TestInformation testInfo)

納入 getBuildInfo,因此我們做出變更,以便在特定情況下覆寫這個資訊。

參數
testInfo TestInformation

傳回
IBuildInfo

isIncrementalFlashingEnabled

public boolean isIncrementalFlashingEnabled ()

傳回
boolean

isIncrementalFlashingForceDisabled

public boolean isIncrementalFlashingForceDisabled ()

傳回
boolean

setAllowCrossReleaseFlashing

public void setAllowCrossReleaseFlashing (boolean allowCrossReleaseFlashing)

參數
allowCrossReleaseFlashing boolean

setAllowUnzipBaseline

public void setAllowUnzipBaseline (boolean allowUnzipBaseline)

參數
allowUnzipBaseline boolean

設定套用快照

public void setApplySnapshot (boolean applySnapshot)

參數
applySnapshot boolean

setConfiguration

public void setConfiguration (IConfiguration configuration)

插入使用中的 IConfiguration

參數
configuration IConfiguration

setIgnoreHostOptions

public void setIgnoreHostOptions (boolean ignoreHostOptions)

參數
ignoreHostOptions boolean

設定

public void setUp (TestInformation testInfo)

參數
testInfo TestInformation

擲回
BuildError
DeviceNotAvailableException
TargetSetupError

setUserDataFlashOption

public void setUserDataFlashOption (IDeviceFlasher.UserDataFlashOption flashOption)

設定 userdata-flash 選項

TearDown

public void tearDown (TestInformation testInfo, 
                Throwable e)

參數
testInfo TestInformation

e Throwable

擲回
DeviceNotAvailableException

保護方法

檢查裝置產品類型

protected void checkDeviceProductType (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

在刷新前可能進行檢查,確保裝置與版本資訊的比對結果符合預期。

參數
device ITestDevice:要刷新的 ITestDevice

deviceBuild IDeviceBuildInfo:用於刷新的 IDeviceBuildInfo

擲回
com.android.tradefed.targetprep.BuildError
com.android.tradefed.device.DeviceNotAvailableException
BuildError
DeviceNotAvailableException

建立 Flasher

protected abstract IDeviceFlasher createFlasher (ITestDevice device)

建立要使用的 IDeviceFlasher。子類別可以覆寫

參數
device ITestDevice

傳回
IDeviceFlasher

擲回
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getDeviceBootWaitTime

protected long getDeviceBootWaitTime ()

取得裝置啟動等待時間

傳回
long

getHost 選項

protected IHostOptions getHostOptions ()

取得要使用的 IHostOptions 例項。

開放單元測試

傳回
IHostOptions

reportFlashMetrics

protected void reportFlashMetrics (String branch, 
                String buildFlavor, 
                String buildId, 
                String serial, 
                long queueTime, 
                long flashingTime, 
                CommandStatus flashingStatus)

將裝置刷新時間資料回報給指標後端

參數
branch String:裝置版本來源的分支版本

buildFlavor String:裝置版本的建構變種版本

buildId String:裝置版本的版本號碼

serial String:裝置的序號

queueTime long:等待刷新限制可用所花費的時間

flashingTime long:刷新裝置映像檔 ZIP 檔案所花費的時間

flashingStatus CommandStatus:刷新指令的執行狀態

setSkipPostFlashBuildIdCheck

protected void setSkipPostFlashBuildIdCheck (boolean skipPostFlashBuildIdCheck)

參數
skipPostFlashBuildIdCheck boolean

setUseIncrementalFlash

protected void setUseIncrementalFlashing (boolean incrementalFlashing)

參數
incrementalFlashing boolean