Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

FastbootDeviceFlasher

public class FastbootDeviceFlasher
extends Object implements IDeviceFlasher

java.lang.Object
com.android.tradefed.targetprep.FastbootDeviceFlasher


依靠fastboot來在物理Android硬件上刷新圖像的類。

概要

領域

public static final String BASEBAND_IMAGE_NAME

公共建設者

FastbootDeviceFlasher ()

公開方法

void flash (ITestDevice device, IDeviceBuildInfo deviceBuild)

閃爍建立在設備上。

CommandStatus getSystemFlashingStatus ()

檢索用於刷新主系統分區的命令執行狀態。

IDeviceFlasher.UserDataFlashOption getUserDataFlashOption ()

獲取是否應刷新,擦除或保留用戶數據圖像

void overrideDeviceOptions (ITestDevice device)

設備的替代選項。

void setDataWipeSkipList ( dataWipeSkipList) setDataWipeSkipList ( dataWipeSkipList)

設置/data下的路徑列表,以避免在使用ITestsZipInstallerITestsZipInstaller

請注意,跳過列表的粒度是/data直接子級。

void setFlashOptions ( flashOptions) setFlashOptions ( flashOptions)

設置要與Flash / Update命令一起傳遞的選項列表。

void setFlashingResourcesRetriever ( IFlashingResourcesRetriever retriever)

設置刷新器可以檢索刷新資源文件的機制。

void setForceSystemFlash (boolean forceSystemFlash)

設置是否即使在運行當前版本時也應始終刷新系統

void setShouldFlashRamdisk (boolean shouldFlashRamdisk)

設置在通過映像zip更新設備後是否應刷新其他虛擬磁盤

void setUserDataFlashOption ( IDeviceFlasher.UserDataFlashOption flashOption)

切換是否應刷新,擦除或保留用戶數據圖像

void setWipeTimeout (long timeout)

設置清除數據的超時時間。

boolean shouldFlashRamdisk ()

通過圖像zip更新設備後,檢查是否將閃存設置為具有其他ramdisk。

受保護的方法

void checkAndFlashBaseband (ITestDevice device, IDeviceBuildInfo deviceBuild)

如果需要,請刷新設備上的基帶圖像。

boolean checkAndFlashBootloader (ITestDevice device, IDeviceBuildInfo deviceBuild)

如果需要,請刷新設備上的引導加載程序映像。

boolean checkAndFlashSystem (ITestDevice device, String systemBuildId, String systemBuildFlavor, IDeviceBuildInfo deviceBuild)

如果需要,請刷新設備上的系統映像。

boolean checkShouldFlashBaseband (ITestDevice device, IDeviceBuildInfo deviceBuild)

檢查所提供設備上的基帶是否需要刷新。

IFlashingResourcesParser createFlashingResourcesParser ( IDeviceBuildInfo localBuild, DeviceDescriptor descriptor)

用於創建IFlashingResourcesParser工廠方法。

void downloadExtraImageFiles ( IFlashingResourcesParser resourceParser, IFlashingResourcesRetriever retriever, IDeviceBuildInfo localBuild)

如有必要,請允許子類下載其他自定義圖像文件。

void downloadFlashingResources (ITestDevice device, IDeviceBuildInfo localBuild)

下載所需的額外的閃爍圖​​像文件

String executeFastbootCmd (ITestDevice device, String... cmdArgs)

執行fastboot命令的輔助方法。

String executeLongFastbootCmd (ITestDevice device, String... cmdArgs)

執行長時間運行的fastboot命令的Helper方法。

void flashBaseband (ITestDevice device, File basebandImageFile)

刷新給定的基帶映像,然後重新引導回引導程序

void flashBootloader (ITestDevice device, File bootloaderImageFile)

刷新給定的引導加載程序映像,然後重新引導回引導加載​​程序

void flashExtraImages (ITestDevice device, IDeviceBuildInfo deviceBuild)

在刷新系統並重新引導之前,請刷新所有設備特定的分區。

void flashPartition (ITestDevice device, File imgFile, String partition)

刷新設備的單個分區

void flashRamdiskIfNeeded (ITestDevice device, IDeviceBuildInfo deviceBuild)
void flashSystem (ITestDevice device, IDeviceBuildInfo deviceBuild)

刷新設備上的系統映像。

void flashUserData (ITestDevice device, IDeviceBuildInfo deviceBuild)

設備上的Flash用戶數據分區。

void flashUserDataFromDeviceImageFile (ITestDevice device, IDeviceBuildInfo deviceBuild)

從設備映像文件中提取userdata.img並將其閃存到設備上

String getBootPartitionName ()

獲取此設備更新程序的啟動分區名稱。

String getBootloaderFilePrefix (ITestDevice device)

獲取引導加載程序文件前綴。

String getCurrentSlot (ITestDevice device)

檢索當前插槽的輔助方法(適用於具有A / B功能的設備)。

IFlashingResourcesRetriever getFlashingResourcesRetriever ()
String getImageVersion (ITestDevice device, String imageName)

獲取設備上當前圖像版本的Helper方法。

IRunUtil getRunUtil ()

暴露於測試。

void handleUserDataFlashing (ITestDevice device, IDeviceBuildInfo deviceBuild)

處理用戶數據/緩存分區的刷新

boolean hasPartition (ITestDevice device, String partition)

檢查引導加載程序是否存在指定的分區

void preFlashSetup (ITestDevice device, IDeviceBuildInfo deviceBuild)

執行所需的任何其他預閃設置。

void verifyRequiredBoards (ITestDevice device, IFlashingResourcesParser resourceParser, String deviceProductType)

驗證設備的產品類型是否支持要刷新的版本。

void wipeCache (ITestDevice device)

擦除設備上的緩存分區。

void wipePartition (ITestDevice device, String partition)

用`fastboot delete <name>擦除指定的分區。

領域

BASEBAND_IMAGE_NAME

public static final String BASEBAND_IMAGE_NAME

公共建設者

FastbootDeviceFlasher

public FastbootDeviceFlasher ()

公開方法

public void flash (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

閃爍建立在設備上。

閃爍完成後立即返回。呼叫者應等待設備在線並可用,然後再進行測試。

參量
device ITestDevice :要閃爍的ITestDevice

deviceBuild IDeviceBuildInfo :要刷新的IDeviceBuildInfo

投擲
DeviceNotAvailableException
TargetSetupError

getSystemFlashingStatus

public CommandStatus getSystemFlashingStatus ()

檢索用於刷新主系統分區的命令執行狀態。

請注意,如果未刷新系統分區(系統已經有要刷新的版本),則命令狀態可能為null

退貨
CommandStatus

getUserDataFlashOption

public IDeviceFlasher.UserDataFlashOption getUserDataFlashOption ()

獲取是否應刷新,擦除或保留用戶數據圖像

退貨
IDeviceFlasher.UserDataFlashOption用戶數據圖像應被刷新,擦除還是保留

overrideDeviceOptions

public void overrideDeviceOptions (ITestDevice device)

設備的替代選項。如果特定設備不支持默認值,則用於覆蓋默認選項值。

setDataWipeSkipList

public void setDataWipeSkipList ( dataWipeSkipList)

設置/data下的路徑列表,以避免在使用ITestsZipInstallerITestsZipInstaller

請注意,跳過列表的粒度是/data直接子級。

參量
dataWipeSkipList

setFlashOptions

public void setFlashOptions ( flashOptions)

設置要與Flash / Update命令一起傳遞的選項列表。

setFlashingResourcesRetriever

public void setFlashingResourcesRetriever (IFlashingResourcesRetriever retriever)

設置刷新器可以檢索刷新資源文件的機制。

參量
retriever IFlashingResourcesRetriever :要使用的IFlashingResourcesRetriever

setForceSystemFlash

public void setForceSystemFlash (boolean forceSystemFlash)

設置是否即使在運行當前版本時也應始終刷新系統

setShouldFlashRamdisk

public void setShouldFlashRamdisk (boolean shouldFlashRamdisk)

設置在通過映像zip更新設備後是否應刷新其他虛擬磁盤

setUserDataFlashOption

public void setUserDataFlashOption (IDeviceFlasher.UserDataFlashOption flashOption)

切換是否應刷新,擦除或保留用戶數據圖像

setWipeTimeout

public void setWipeTimeout (long timeout)

設置清除數據的超時時間。

參量
timeout long

shouldFlashRamdisk

public boolean shouldFlashRamdisk ()

通過映像zip更新設備後,檢查是否將閃存設置為具有附加的ramdisk。

退貨
boolean

受保護的方法

checkAndFlashBaseband

protected void checkAndFlashBaseband (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

如果需要,請刷新設備上的基帶圖像。僅當設備上的當前版本!=必需版本時,才會閃爍基帶

參量
device ITestDevice :要閃爍的ITestDevice

deviceBuild IDeviceBuildInfo :包含要刷新的基帶圖像的IDeviceBuildInfo

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果無法刷新基帶

checkAndFlashBootloader

protected boolean checkAndFlashBootloader (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

如果需要,請刷新設備上的引導加載程序映像。

僅當設備上的當前版本!=必需版本時,才會刷新引導程序。

參量
device ITestDevice :要閃爍的ITestDevice

deviceBuild IDeviceBuildInfo :包含要加載的引導加載程序映像的IDeviceBuildInfo

退貨
boolean true如果引導程序是一閃而過, false ,如果它被跳過

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果無法刷新引導程序

checkAndFlashSystem

protected boolean checkAndFlashSystem (ITestDevice device, 
                String systemBuildId, 
                String systemBuildFlavor, 
                IDeviceBuildInfo deviceBuild)

如果需要,請刷新設備上的系統映像。

請查看ERROR(/#shouldFlashSystem(String,String,com.android.tradefed.build.IDeviceBuildInfo))

無論選擇哪種路徑,方法執行後的設備都應引導到用戶空間中。

參量
device ITestDevice :要閃爍的ITestDevice

systemBuildId String :設備上正在運行的當前構建ID

systemBuildFlavor String :設備上當前運行的構建風格

deviceBuild IDeviceBuildInfo :包含要刷新的系統映像的IDeviceBuildInfo

退貨
boolean true如果系統是一閃而過, false ,如果它被跳過

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果無法刷新引導程序

checkShouldFlashBaseband

protected boolean checkShouldFlashBaseband (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

檢查所提供設備上的基帶是否需要刷新。

參量
device ITestDevice :要檢查的ITestDevice

deviceBuild IDeviceBuildInfo :包含要檢查的基帶圖像的IDeviceBuildInfo

退貨
boolean

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果無法刷新基帶

createFlashingResourcesParser

protected IFlashingResourcesParser createFlashingResourcesParser (IDeviceBuildInfo localBuild, 
                DeviceDescriptor descriptor)

用於創建IFlashingResourcesParser工廠方法。

公開進行單元測試。

參量
localBuild IDeviceBuildInfo :要解析的IDeviceBuildInfo

descriptor DeviceDescriptor :要DeviceDescriptor的設備的描述符。

退貨
IFlashingResourcesParser由工廠方法創建的IFlashingResourcesParser

投擲
TargetSetupError

downloadExtraImageFiles

protected void downloadExtraImageFiles (IFlashingResourcesParser resourceParser, 
                IFlashingResourcesRetriever retriever, 
                IDeviceBuildInfo localBuild)

如有必要,請允許子類下載其他自定義圖像文件。

參量
resourceParser IFlashingResourcesParserIFlashingResourcesParser

retriever IFlashingResourcesRetrieverIFlashingResourcesRetriever

localBuild IDeviceBuildInfoIDeviceBuildInfo

投擲
TargetSetupError

下載Flashing資源

protected void downloadFlashingResources (ITestDevice device, 
                IDeviceBuildInfo localBuild)

下載所需的額外的閃爍圖​​像文件

參量
device ITestDevice :用於下載資源的ITestDevice

localBuild IDeviceBuildInfo :要填充的IDeviceBuildInfo 。假設設備映像文件已設置

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果檢索資源失敗

executeFastbootCmd

protected String executeFastbootCmd (ITestDevice device, 
                String... cmdArgs)

執行fastboot命令的輔助方法。

參量
device ITestDevice :要在ITestDevice上執行命令的ITestDevice

cmdArgs String :提供給fastboot的參數

退貨
String如果命令為非空,則將命令的stderr輸出字符串化。否則返回stdout某些fastboot命令很奇怪,它們在成功的情況下將輸出轉儲到stderr

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果fastboot命令失敗

executeLongFastbootCmd

protected String executeLongFastbootCmd (ITestDevice device, 
                String... cmdArgs)

執行長時間運行的fastboot命令的Helper方法。

注意:大多數fastboot命令通常在ITestDevice#executeFastbootCommand(String...)允許的超時內執行。但是,當多個設備同時刷新設備時,fastboot命令所花費的時間可能比正常情況長得多。

參量
device ITestDevice :要在ITestDevice上執行命令的ITestDevice

cmdArgs String :提供給fastboot的參數

退貨
String如果命令為非空,則將命令的stderr輸出字符串化。否則返回stdout某些fastboot命令很奇怪,它們在成功的情況下將輸出轉儲到stderr

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果fastboot命令失敗

flashBaseband

protected void flashBaseband (ITestDevice device, 
                File basebandImageFile)

刷新給定的基帶映像,然後重新引導回引導程序

參量
device ITestDevice :要閃爍的ITestDevice

basebandImageFile File :基帶圖像ERROR(/File)

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果無法刷新基帶

flashBootloader

protected void flashBootloader (ITestDevice device, 
                File bootloaderImageFile)

刷新給定的引導加載程序映像,然後重新引導回引導加載​​程序

參量
device ITestDevice :要閃爍的ITestDevice

bootloaderImageFile File :引導加載程序映像ERROR(/File)

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果閃爍失敗

flashExtraImages

protected void flashExtraImages (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

在刷新系統並重新引導之前,請刷新所有設備特定的分區。除非被覆蓋,否則不要操作。

參量
device ITestDevice :要閃爍的ITestDevice

deviceBuild IDeviceBuildInfo :包含構建文件的IDeviceBuildInfo

投擲
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

flashPartition

protected void flashPartition (ITestDevice device, 
                File imgFile, 
                String partition)

刷新設備的單個分區

參量
device ITestDevice :要閃爍的ITestDevice

imgFile File :指向要刷新的圖像的ERROR(/File)

partition String :要刷新的分區的名稱

投擲
DeviceNotAvailableException
TargetSetupError

flashRamdiskIfNeeded

protected void flashRamdiskIfNeeded (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

參量
device ITestDevice

deviceBuild IDeviceBuildInfo

投擲
DeviceNotAvailableException
TargetSetupError

flashSystem

protected void flashSystem (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

刷新設備上的系統映像。

參量
device ITestDevice :要閃爍的ITestDevice

deviceBuild IDeviceBuildInfo :要刷新的IDeviceBuildInfo

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果fastboot命令失敗

flashUserData

protected void flashUserData (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

設備上的Flash用戶數據分區。

參量
device ITestDevice :要閃爍的ITestDevice

deviceBuild IDeviceBuildInfo :包含要刷新的文件的IDeviceBuildInfo

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果無法刷新用戶數據

flashUserDataFromDeviceImageFile

protected void flashUserDataFromDeviceImageFile (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

從設備映像文件中提取userdata.img並將其閃存到設備上

參量
device ITestDevice :要閃爍的ITestDevice

deviceBuild IDeviceBuildInfo :包含要刷新的文件的IDeviceBuildInfo

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果無法提取或刷新用戶數據

getBootPartitionName

protected String getBootPartitionName ()

獲取此設備更新程序的引導分區名稱。

默認為'bootloader'。如有必要,子類應重寫。

退貨
String

getBootloaderFilePrefix

protected String getBootloaderFilePrefix (ITestDevice device)

獲取引導加載程序文件前綴。

默認為getBootPartitionName() 。如有必要,子類應重寫。

參量
device ITestDevice :要閃爍的ITestDevice

退貨
String

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果無法獲得前綴

getCurrentSlot

protected String getCurrentSlot (ITestDevice device)

檢索當前插槽的輔助方法(適用於具有A / B功能的設備)。

參量
device ITestDevice :要在ITestDevice上執行命令的ITestDevice

退貨
String “ a”,“ b”或null(如果設備不支持A / B)

投擲
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

getFlashingResourcesRetriever

protected IFlashingResourcesRetriever getFlashingResourcesRetriever ()

退貨
IFlashingResourcesRetriever

getImageVersion

protected String getImageVersion (ITestDevice device, 
                String imageName)

獲取設備上當前圖像版本的Helper方法。

參量
device ITestDevice :要在ITestDevice上執行命令的ITestDevice

imageName String :要獲取的圖像的名稱。

退貨
String字符串命令的標準輸出

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果fastboot命令失敗或無法確定版本

getRunUtil

protected IRunUtil getRunUtil ()

暴露於測試。

退貨
IRunUtil

handleUserDataFlashing

protected void handleUserDataFlashing (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

處理用戶數據/緩存分區的刷新

參量
device ITestDevice :要閃爍的ITestDevice

deviceBuild IDeviceBuildInfo :包含要刷新的文件的IDeviceBuildInfo

投擲
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

hasPartition

protected boolean hasPartition (ITestDevice device, 
                String partition)

檢查引導加載程序是否存在指定的分區

參量
device ITestDevice :要運行的ITestDevice

partition String :要檢查的分區的名稱

退貨
boolean

投擲
DeviceNotAvailableException

preFlashSetup

protected void preFlashSetup (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

執行所需的任何其他預閃設置。除非被覆蓋,否則不要操作。

參量
device ITestDevice :準備的ITestDevice

deviceBuild IDeviceBuildInfo :包含構建文件的IDeviceBuildInfo

投擲
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

verifyRequiredBoards

protected void verifyRequiredBoards (ITestDevice device, 
                IFlashingResourcesParser resourceParser, 
                String deviceProductType)

驗證設備的產品類型支持要刷新的版本。

基本實現將驗證IFlashingResourcesParser#getRequiredBoards()集合中是否包含IFlashingResourcesParser#getRequiredBoards() 。子類可以根據需要重寫。

參量
device ITestDevice :要ITestDevice

resourceParser IFlashingResourcesParserIFlashingResourcesParser

deviceProductType Stringdevice的產品類型

投擲
TargetSetupError如果構建所需的主板信息與設備不匹配

擦除緩存

protected void wipeCache (ITestDevice device)

擦除設備上的緩存分區。

參量
device ITestDevice :要閃爍的ITestDevice

投擲
DeviceNotAvailableException如果設備不可用
TargetSetupError如果無法刷新緩存

擦分區

protected void wipePartition (ITestDevice device, 
                String partition)

用`fastboot delete <name>擦除指定的分區。

參量
device ITestDevice :要運行的ITestDevice

partition String :要擦除的分區的名稱

投擲
DeviceNotAvailableException
TargetSetupError