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 的直接子项。

default void setExtraMetadata( metadata)

允许刷写器接收额外的元数据选项。

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 如果刷写 build 失败
DeviceNotAvailableException 如果设备无响应

getAdditionalFileFilters

public  getAdditionalFileFilters ()

获取其他 build 制品的过滤条件。

某些刷机工具需要特定的 build 制品,而这些制品不在所用的默认制品中。此类刷机工具应替换此方法,以便刷机工具的每位用户都不需要了解这些文件并提供命令行选项。

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

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

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

返回

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

setExtraMetadata

public void setExtraMetadata ( metadata)

允许刷写器接收额外的元数据选项。

参数
metadata

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

刷写器实现自行清理的最后机会