FastbootDeviceFlasher

public class FastbootDeviceFlasher
extends Object implements IDeviceFlasher

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


這個類別會使用 Fastboot 在實體 Android 硬體上刷入映像檔。

摘要

常數

String BASEBAND_IMAGE_NAME

公用建構函式

FastbootDeviceFlasher()

公用方法

static String fetchImageVersion(IRunUtil runUtil, ITestDevice device, String imageName)

輔助方法,用於取得裝置上的目前圖片版本。

void flash(ITestDevice device, IDeviceBuildInfo deviceBuild)

在裝置上刷新版本。

CommandStatus getSystemFlashingStatus()

擷取主要系統分割區的刷機指令執行狀態。

IDeviceFlasher.UserDataFlashOption getUserDataFlashOption()

取得是否應清除、保留或清除使用者資料映像檔

void overrideDeviceOptions(ITestDevice device)

裝置的覆寫選項。

void preFlashOperations(ITestDevice device, IDeviceBuildInfo deviceBuild)

所有設定作業和檢查都必須在實際刷寫重要區段之前完成。

void setDataWipeSkipList( dataWipeSkipList)

設定 /data 下的路徑清單,避免在使用 ITestsZipInstaller 時清除這些路徑

請注意,略過清單的精細程度為 /data 的直接子項。

void setFlashOptions( flashOptions)

設定要透過 flash/update 指令傳遞的選項清單。

void setFlashingResourcesRetriever(IFlashingResourcesRetriever retriever)

設定 Flasher 擷取資源檔案以進行刷機的機制。

void setForceSystemFlash(boolean forceSystemFlash)

設定系統是否應一律刷機,即使目前執行的版本也是如此

void setIncrementalFlashing(IncrementalImageUtil incrementalUtil)
void setRamdiskPartition(String ramdiskPartition)

設定 ramdisk 分割區

void setShouldFlashRamdisk(boolean shouldFlashRamdisk)

設定是否要在透過映像檔 ZIP 檔案更新裝置後,刷入額外的 RAM 磁碟

void setUserDataFlashOption(IDeviceFlasher.UserDataFlashOption flashOption)

切換是否要清除、保留或刷入使用者資料映像檔

void setWipeTimeout(long timeout)

設定清除資料的逾時時間。

boolean shouldFlashRamdisk()

檢查是否已設定閃爍器,以便在透過映像檔 ZIP 更新裝置後,閃爍器會閃爍額外的 ramdisk

boolean shouldSkipBootloaderVersionCheck()
static boolean stderrContainsFailed(String stderr, boolean skipBootloaderVersionCheck)
static boolean stderrContainsFailed(String stderr, boolean skipBootloaderVersionCheck, boolean skipFastbootFailedMessage)

受保護的方法

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)

Hook,允許子類別視需要下載額外的自訂圖片檔案。

void downloadFlashingResources(ITestDevice device, IDeviceBuildInfo localBuild)

下載所需額外刷機映像檔

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

Helper method to execute fastboot command.

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

Helper method to execute a long-running fastboot command.

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

Helper method to execute a long-running fastboot command with environment variables.

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)

在裝置上刷寫 userdata 分區。

void flashUserDataFromDeviceImageFile(ITestDevice device, IDeviceBuildInfo deviceBuild)

從裝置映像檔擷取 userdata.img,並刷入裝置

String getBootPartitionName()

取得這個裝置刷機程式的開機分割區名稱。

String getBootloaderFilePrefix(ITestDevice device)

取得啟動載入程式檔案前置字串。

String getCurrentSlot(ITestDevice device)

輔助方法,用於擷取目前的插槽 (適用於支援 A/B 的裝置)。

IFlashingResourcesRetriever getFlashingResourcesRetriever()
FuseUtil getFuseUtil()
String getImageVersion(ITestDevice device, String imageName)
IRunUtil getRunUtil()

公開測試。

void handleUserDataFlashing(ITestDevice device, IDeviceBuildInfo deviceBuild)

處理 userdata/cache 分區的刷機作業

boolean hasPartition(ITestDevice device, String partition)

Checks with the bootloader if the specified partition exists or not

void preFlashSetup(ITestDevice device, IDeviceBuildInfo deviceBuild)

執行任何其他必要的前置刷機設定。

void setSkipBootloaderVersionCheck(boolean skipBootloaderVersionCheck)
void setSkipFastbootFailedMessage(boolean skipFastbootFailedMessage)
void setSystemBuildInfo(String systemBuildId, String systemBuildFlavor)
void verifyRequiredBoards(ITestDevice device, IFlashingResourcesParser resourceParser, String deviceProductType)

確認裝置的產品類型支援要刷入的建構版本。

void wipeCache(ITestDevice device)

清除裝置上的快取分割區。

void wipePartition(ITestDevice device, String partition)

使用 `fastboot erase <name>` 抹除指定分割區

常數

BASEBAND_IMAGE_NAME

public static final String BASEBAND_IMAGE_NAME

常數值: "radio"

公用建構函式

FastbootDeviceFlasher

public FastbootDeviceFlasher ()

公用方法

fetchImageVersion

public static String fetchImageVersion (IRunUtil runUtil, 
                ITestDevice device, 
                String imageName)

輔助方法,用於取得裝置上的目前映像檔版本。

參數
runUtil IRunUtil

device ITestDevice:要執行指令的 ITestDevice

imageName String:要取得的映像檔名稱。

傳回
String 將指令的 stdout 輸出內容串連成字串

擲回
DeviceNotAvailableException 如果裝置無法使用
TargetSetupError 如果 fastboot 指令失敗或無法判斷版本

Flash

public void flash (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

在裝置上刷新版本。

閃爍完成後立即返回。請等待裝置上線並可供使用,再繼續進行測試。

參數
device ITestDeviceITestDevice要閃爍

deviceBuild IDeviceBuildInfoIDeviceBuildInfo要閃爍

擲回
DeviceNotAvailableException
TargetSetupError

getSystemFlashingStatus

public CommandStatus getSystemFlashingStatus ()

擷取主要系統分割區的閃爍指令執行狀態。

請注意,如果系統分割區未刷入 (系統已刷入要刷入的建構版本),指令狀態可能會是 null

傳回
CommandStatus

getUserDataFlashOption

public IDeviceFlasher.UserDataFlashOption getUserDataFlashOption ()

取得是否應清除、保留或清除使用者資料映像檔

傳回
IDeviceFlasher.UserDataFlashOption 是否要清除、保留或還原使用者資料映像檔

overrideDeviceOptions

public void overrideDeviceOptions (ITestDevice device)

覆寫裝置的選項。如果特定裝置不支援預設選項值,可用於覆寫預設值。

preFlashOperations

public void preFlashOperations (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

所有設定作業和檢查都必須在實際閃爍重要部分之前進行。這些作業都不會納入並行控制的重要部分。

參數
device ITestDeviceITestDevice要閃爍

deviceBuild IDeviceBuildInfoIDeviceBuildInfo要閃爍

擲回
DeviceNotAvailableException
TargetSetupError

setDataWipeSkipList

public void setDataWipeSkipList ( dataWipeSkipList)

設定 /data 下的路徑清單,避免在使用 ITestsZipInstaller 時清除這些路徑

請注意,略過清單的精細程度為 /data 的直接子項。

參數
dataWipeSkipList

setFlashOptions

public void setFlashOptions ( flashOptions)

設定要透過 flash/update 指令傳遞的選項清單。

setFlashingResourcesRetriever

public void setFlashingResourcesRetriever (IFlashingResourcesRetriever retriever)

設定 Flasher 可擷取資源檔案以進行刷機的機制。

參數
retriever IFlashingResourcesRetriever:要使用的 IFlashingResourcesRetriever

setForceSystemFlash

public void setForceSystemFlash (boolean forceSystemFlash)

設定是否一律要刷入系統,即使目前執行的版本相同也一樣

setIncrementalFlashing

public void setIncrementalFlashing (IncrementalImageUtil incrementalUtil)

參數
incrementalUtil IncrementalImageUtil

setRamdiskPartition

public void setRamdiskPartition (String ramdiskPartition)

設定 ramdisk 分割區

setShouldFlashRamdisk

public void setShouldFlashRamdisk (boolean shouldFlashRamdisk)

設定是否要在透過映像檔 ZIP 檔案更新裝置後,刷入額外的 RAM 磁碟

setUserDataFlashOption

public void setUserDataFlashOption (IDeviceFlasher.UserDataFlashOption flashOption)

切換是否要清除、保留或清除使用者資料映像檔

setWipeTimeout

public void setWipeTimeout (long timeout)

設定清除資料的逾時時間。

參數
timeout long

shouldFlashRamdisk

public boolean shouldFlashRamdisk ()

檢查是否已設定閃爍器,以便在透過映像檔 ZIP 更新裝置後,閃爍額外的 ramdisk

傳回
boolean

shouldSkipBootloaderVersionCheck

public boolean shouldSkipBootloaderVersionCheck ()

傳回
boolean

stderrContainsFailed

public static boolean stderrContainsFailed (String stderr, 
                boolean skipBootloaderVersionCheck)

參數
stderr String

skipBootloaderVersionCheck boolean

傳回
boolean

stderrContainsFailed

public static boolean stderrContainsFailed (String stderr, 
                boolean skipBootloaderVersionCheck, 
                boolean skipFastbootFailedMessage)

參數
stderr String

skipBootloaderVersionCheck boolean

skipFastbootFailedMessage boolean

傳回
boolean

受保護的方法

checkAndFlashBaseband

protected void checkAndFlashBaseband (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

視需要將基頻映像檔更新到裝置上。只有在裝置上的目前版本與必要版本不同時,才會刷寫基頻

參數
device ITestDeviceITestDevice要閃爍

deviceBuild IDeviceBuildInfo:包含要刷入基頻映像檔的 IDeviceBuildInfo

擲回
DeviceNotAvailableException 如果裝置無法使用
TargetSetupError 如果無法刷入基頻

checkAndFlashBootloader

protected boolean checkAndFlashBootloader (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

視需要將系統啟動載入程式映像檔更新到裝置上。

只有在裝置上的目前版本與必要版本不同時,才會刷入系統啟動載入程式。

參數
device ITestDeviceITestDevice要閃爍

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 ITestDeviceITestDevice要閃爍

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:要刷寫韌體的裝置描述元。

傳回
IFlashingResourcesParser 工廠方法建立的 IFlashingResourcesParser

擲回
com.android.tradefed.targetprep.TargetSetupError
TargetSetupError

downloadExtraImageFiles

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

這個 Hook 可讓子類別視需要下載額外的自訂圖片檔案。

參數
resourceParser IFlashingResourcesParserIFlashingResourcesParser

retriever IFlashingResourcesRetrieverIFlashingResourcesRetriever

localBuild IDeviceBuildInfoIDeviceBuildInfo

擲回
com.android.tradefed.targetprep.TargetSetupError
TargetSetupError

downloadFlashingResources

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

cmdArgs String:要提供給 Fastboot 的引數

傳回
String 如果 stderr 輸出內容不為空,請將其串連起來。否則會傳回 stdout。有些快速啟動指令很奇怪,成功時會將輸出內容傾印至 stderr

擲回
DeviceNotAvailableException 如果裝置無法使用
TargetSetupError 如果 fastboot 指令失敗

executeLongFastbootCmd

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

輔助方法,用於執行耗時的 Fastboot 指令。

注意:大多數的 Fastboot 指令通常會在 INativeDevice.executeFastbootCommand(String) 允許的逾時時間內執行。不過,如果同時閃爍多部裝置,fastboot 指令的執行時間可能會比平常長得多。

參數
device ITestDevice:要在其上執行指令的 ITestDevice

cmdArgs String:要提供給 Fastboot 的引數

傳回
String 如果 stderr 輸出內容不為空,請將其串連起來。否則會傳回 stdout。有些快速啟動指令很奇怪,成功時會將輸出內容傾印至 stderr

擲回
DeviceNotAvailableException 如果裝置無法使用
TargetSetupError 如果 fastboot 指令失敗

executeLongFastbootCmd

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

Helper method to execute a long-running fastboot command with environment variables.

注意:大多數的 Fastboot 指令通常會在 INativeDevice.executeFastbootCommand(String) 允許的逾時時間內執行。不過,如果同時有許多裝置在閃爍,fastboot 指令的執行時間可能會比平常長很多。

參數
device ITestDevice:要在其上執行指令的 ITestDevice

envVarMap :地圖,其中包含執行 fastboot 指令前需要設定的環境變數

cmdArgs String:要提供給 Fastboot 的引數

傳回
String 如果 stderr 輸出內容不為空,請將其串連起來。否則會傳回 stdout。有些快速啟動指令很奇怪,成功時會將輸出內容傾印至 stderr

擲回
DeviceNotAvailableException 如果裝置無法使用
TargetSetupError 如果 fastboot 指令失敗

flashBaseband

protected void flashBaseband (ITestDevice device, 
                File basebandImageFile)

刷入指定的基頻映像檔,然後重新啟動並返回系統啟動載入程式

參數
device ITestDeviceITestDevice要閃爍

basebandImageFile File:基頻映像檔 ERROR(/File)

擲回
DeviceNotAvailableException 如果裝置無法使用
TargetSetupError 如果無法刷寫基頻

flashBootloader

protected void flashBootloader (ITestDevice device, 
                File bootloaderImageFile)

刷入指定的系統啟動載入程式映像檔,然後重新啟動並返回系統啟動載入程式

參數
device ITestDeviceITestDevice要閃爍

bootloaderImageFile File:開機載入程式映像檔 ERROR(/File)

擲回
DeviceNotAvailableException 如果裝置無法使用
TargetSetupError 如果無法刷機

flashExtraImages

protected void flashExtraImages (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

請先刷寫任何裝置專屬的分割區,再刷寫系統並重新啟動。除非覆寫,否則為無運算。

參數
device ITestDeviceITestDevice要閃爍

deviceBuild IDeviceBuildInfo:包含建構檔案的 IDeviceBuildInfo

擲回
com.android.tradefed.device.DeviceNotAvailableException
com.android.tradefed.targetprep.TargetSetupError
DeviceNotAvailableException
TargetSetupError

flashPartition

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

刷新裝置的個別磁碟分割區

參數
device ITestDeviceITestDevice要閃爍

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 ITestDeviceITestDevice要閃爍

deviceBuild IDeviceBuildInfoIDeviceBuildInfo要閃爍

擲回
DeviceNotAvailableException 如果裝置無法使用
TargetSetupError 如果 fastboot 指令失敗

flashUserData

protected void flashUserData (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

在裝置上刷寫 userdata 分區。

參數
device ITestDeviceITestDevice要閃爍

deviceBuild IDeviceBuildInfo:包含要刷入檔案的 IDeviceBuildInfo

擲回
DeviceNotAvailableException 如果裝置無法使用
TargetSetupError 如果無法清除使用者資料

flashUserDataFromDeviceImageFile

protected void flashUserDataFromDeviceImageFile (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

從裝置映像檔擷取 userdata.img,並刷入裝置

參數
device ITestDeviceITestDevice要閃爍

deviceBuild IDeviceBuildInfo:包含要刷入檔案的 IDeviceBuildInfo

擲回
DeviceNotAvailableException 如果裝置無法使用
TargetSetupError 如果無法擷取或清除使用者資料

getBootPartitionName

protected String getBootPartitionName ()

取得這個裝置刷機程式的開機分割區名稱。

預設值為「bootloader」。如有必要,子類別應覆寫。

傳回
String

getBootloaderFilePrefix

protected String getBootloaderFilePrefix (ITestDevice device)

取得啟動載入程式檔案前置字串。

預設為 getBootPartitionName()。如有必要,子類別應覆寫。

參數
device ITestDeviceITestDevice要閃爍

傳回
String

擲回
DeviceNotAvailableException 如果裝置無法使用
TargetSetupError 如果無法取得前置字元

getCurrentSlot

protected String getCurrentSlot (ITestDevice device)

輔助方法,用於擷取目前的插槽 (適用於支援 A/B 的裝置)。

參數
device ITestDevice:要在其上執行指令的 ITestDevice

傳回
String 「a」、「b」或空值 (如果裝置不支援 A/B 分割區)

擲回
com.android.tradefed.device.DeviceNotAvailableException
com.android.tradefed.targetprep.TargetSetupError
DeviceNotAvailableException
TargetSetupError

getFlashingResourcesRetriever

protected IFlashingResourcesRetriever getFlashingResourcesRetriever ()

傳回
IFlashingResourcesRetriever

getFuseUtil

protected FuseUtil getFuseUtil ()

傳回
FuseUtil

getImageVersion

protected String getImageVersion (ITestDevice device, 
                String imageName)

參數
device ITestDevice

imageName String

傳回
String

擲回
DeviceNotAvailableException
TargetSetupError

getRunUtil

protected IRunUtil getRunUtil ()

公開測試。

傳回
IRunUtil

handleUserDataFlashing

protected void handleUserDataFlashing (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

處理 userdata/cache 分區的刷機作業

參數
device ITestDeviceITestDevice要閃爍

deviceBuild IDeviceBuildInfo:包含要刷入檔案的 IDeviceBuildInfo

擲回
com.android.tradefed.device.DeviceNotAvailableException
com.android.tradefed.targetprep.TargetSetupError
DeviceNotAvailableException
TargetSetupError

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
com.android.tradefed.targetprep.TargetSetupError
DeviceNotAvailableException
TargetSetupError

setSkipBootloaderVersionCheck

protected void setSkipBootloaderVersionCheck (boolean skipBootloaderVersionCheck)

參數
skipBootloaderVersionCheck boolean

setSkipFastbootFailedMessage

protected void setSkipFastbootFailedMessage (boolean skipFastbootFailedMessage)

參數
skipFastbootFailedMessage boolean

setSystemBuildInfo

protected void setSystemBuildInfo (String systemBuildId, 
                String systemBuildFlavor)

參數
systemBuildId String

systemBuildFlavor String

verifyRequiredBoards

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

確認裝置的產品類型支援要刷入的建構版本。

基本實作會驗證 deviceProductType 是否包含在 IFlashingResourcesParser.getRequiredBoards() 集合中。子類別可視需要覆寫。

參數
device ITestDevice:要刷入的 ITestDevice

resourceParser IFlashingResourcesParserIFlashingResourcesParser

deviceProductType Stringdevice的產品類型

擲回
TargetSetupError 如果建構版本所需的主機板資訊與裝置不符

wipeCache

protected void wipeCache (ITestDevice device)

清除裝置上的快取分割區。

參數
device ITestDeviceITestDevice要閃爍

擲回
DeviceNotAvailableException 如果裝置無法使用
TargetSetupError 如果無法清除快取

wipePartition

protected void wipePartition (ITestDevice device, 
                String partition)

使用 `fastboot erase <name>` 抹除指定分割區

參數
device ITestDevice:要執行的 ITestDevice

partition String:要清除的分區名稱

擲回
DeviceNotAvailableException
TargetSetupError