IDeviceFlasher

public interface IDeviceFlasher

com.android.tradefed.targetprep.IDeviceFlasher


在设备上刷写设备映像。

摘要

公共方法

abstract void flash(ITestDevice device, IDeviceBuildInfo deviceBuild)

在设备上刷写 build。

default getAdditionalFileFilters()

获取其他 build 工件的过滤条件。

abstract CommandStatus getSystemFlashingStatus()

检索刷写主要系统分区的命令执行状态。

abstract IDeviceFlasher.UserDataFlashOption getUserDataFlashOption()

获取是否应刷写、擦除或保留用户数据映像

abstract void overrideDeviceOptions(ITestDevice device)

设备的替换选项。

default void postFlashOperations(ITestDevice device, IDeviceBuildInfo deviceBuild)

必须在实际刷写关键部分后执行的所有清理操作和检查。

default void preFlashOperations(ITestDevice device, IDeviceBuildInfo deviceBuild)

在实际刷写关键部分之前必须执行的所有设置操作和检查。

abstract void setDataWipeSkipList( dataWipeSkipList)

设置 /data 下的路径列表,以避免在使用 ITestsZipInstaller 时清除这些路径

请注意,跳过列表的精细程度为 /data 的直接子项。

abstract void setFlashingResourcesRetriever(IFlashingResourcesRetriever retriever)

设置用于让刷写器检索要刷写的资源文件的机制。

abstract void setForceSystemFlash(boolean forceSystemFlash)

设置系统是否应始终刷写,即使运行的是当前 build 也是如此

default void setRamdiskPartition(String ramdiskPartition)

设置 ramdisk 分区

default void setShouldFlashRamdisk(boolean shouldFlashRamdisk)

设置在通过映像 ZIP 文件更新设备后是否应刷写额外的 ramdisk

abstract void setUserDataFlashOption(IDeviceFlasher.UserDataFlashOption flashOption)

切换用户数据映像应刷写、清除还是保留的操作

abstract void setWipeTimeout(long timeout)

设置清除数据的超时时间。

default boolean shouldFlashRamdisk()

检查刷写器是否设置为在通过映像 ZIP 文件更新设备后刷写额外的 ramdisk

default boolean supportsFlashingInFastbootD()

实现了刷写器的设备是否可以在 fastbootd 模式下刷写。

default void tearDownFlasher()

这是闪光器实现最后一次清理自己的机会

公共方法

Flash

public abstract void flash (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

在设备上刷写 build。

刷写完成后立即返回。调用方应等待设备上线并可用,然后再继续测试。

参数
device ITestDevice:要刷写的 ITestDevice

deviceBuild IDeviceBuildInfo:要刷写的 IDeviceBuildInfo

抛出
TargetSetupError if failed to flash build
DeviceNotAvailableException 如果设备无响应

getAdditionalFileFilters

public  getAdditionalFileFilters ()

获取其他 build 工件的过滤条件。

某些刷写器需要使用不属于默认 build 工件的特定 build 工件。此类刷写器应替换此方法,这样刷写工具的每位用户都无需了解这些文件并提供命令行选项。

请注意,此方法会在 IDeviceFlasher 的临时实例上调用,因此不应依赖于默认构造函数中提供的状态以外的任何状态。

集合中的字符串会被解读为文件模式,系统会检索与该模式匹配的所有文件。

默认情况下,此方法会返回一个空的 Set。

返回

getSystemFlashingStatus

public abstract CommandStatus getSystemFlashingStatus ()

检索刷写主要系统分区的命令执行状态。

请注意,如果未刷写系统分区(系统已具有要刷写的 build),命令状态可能是 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

抛出
TargetSetupError 如果任何设置失败
DeviceNotAvailableException 如果设备无响应

preFlashOperations

public void preFlashOperations (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

在实际刷写关键部分之前必须执行的所有设置操作和检查。这些操作都不会包含在并发控制的关键部分中。

参数
device ITestDevice:要刷写的 ITestDevice

deviceBuild IDeviceBuildInfo:要刷写的 IDeviceBuildInfo

抛出
TargetSetupError 如果任何设置失败
DeviceNotAvailableException 如果设备无响应

setDataWipeSkipList

public abstract void setDataWipeSkipList ( dataWipeSkipList)

设置 /data 下的路径列表,以避免在使用 ITestsZipInstaller 时清除这些路径

请注意,跳过列表的精细程度为 /data 的直接子项。

参数
dataWipeSkipList

setFlashingResourcesRetriever

public abstract void setFlashingResourcesRetriever (IFlashingResourcesRetriever retriever)

设置用于让刷写器检索资源文件以进行刷写的机制。

参数
retriever IFlashingResourcesRetriever:要使用的 IFlashingResourcesRetriever

setForceSystemFlash

public abstract void setForceSystemFlash (boolean forceSystemFlash)

设置是否应始终刷写系统,即使运行的是当前 build

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 ()

闪光器实现最后一次清理自身的机会