IDeviceFlasher

public interface IDeviceFlasher

com.android.tradefed.targetprep.IDeviceFlasher


在设备上刷写设备映像。

摘要

公共方法

abstract void flash(ITestDevice device, IDeviceBuildInfo deviceBuild)

在设备上构建刷写程序。

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 模式下刷写。

公共方法

Flash

public abstract void flash (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

在设备上构建刷写程序。

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

参数
device ITestDevice:要刷写的 ITestDevice

deviceBuild IDeviceBuildInfo:要刷写的 IDeviceBuildInfo

抛出
TargetSetupError 如果未能刷写 build
DeviceNotAvailableException 如果设备无响应

getAdditionalFileFilters

public  getAdditionalFileFilters ()

获取其他构建工件的过滤器。

某些刷写程序需要某些不属于默认使用的 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