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(
设置
请注意,跳过列表的粒度是 |
default
void
|
setExtraMetadata(
允许刷写器接收额外的元数据选项。 |
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
publicgetAdditionalFileFilters ()
获取其他 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 ()
刷写器实现自行清理的最后机会