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(
設定
請注意,略過清單的精細程度為 |
void
|
setFlashOptions(
設定要透過 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)
建立 |
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,
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 |
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)
覆寫裝置的選項。如果特定裝置不支援預設選項值,可用於覆寫預設值。
preFlashOperations
public void preFlashOperations (ITestDevice device, IDeviceBuildInfo deviceBuild)
所有設定作業和檢查都必須在實際閃爍重要部分之前進行。這些作業都不會納入並行控制的重要部分。
| 參數 | |
|---|---|
device |
ITestDevice:ITestDevice要閃爍 |
deviceBuild |
IDeviceBuildInfo:IDeviceBuildInfo要閃爍 |
| 擲回 | |
|---|---|
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 |
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:要刷寫韌體的裝置描述元。 |
| 傳回 | |
|---|---|
IFlashingResourcesParser |
工廠方法建立的 IFlashingResourcesParser。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.targetprep.TargetSetupError |
TargetSetupError |
|
downloadExtraImageFiles
protected void downloadExtraImageFiles (IFlashingResourcesParser resourceParser, IFlashingResourcesRetriever retriever, IDeviceBuildInfo localBuild)
這個 Hook 可讓子類別視需要下載額外的自訂圖片檔案。
| 參數 | |
|---|---|
resourceParser |
IFlashingResourcesParser:IFlashingResourcesParser |
retriever |
IFlashingResourcesRetriever:IFlashingResourcesRetriever |
localBuild |
IDeviceBuildInfo:IDeviceBuildInfo |
| 擲回 | |
|---|---|
|
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 |
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 |
|
com.android.tradefed.targetprep.TargetSetupError |
DeviceNotAvailableException |
|
TargetSetupError |
|
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)
在裝置上刷寫 userdata 分區。
| 參數 | |
|---|---|
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。 |
| 傳回 | |
|---|---|
String |
「a」、「b」或空值 (如果裝置不支援 A/B 分割區) |
| 擲回 | |
|---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
|
com.android.tradefed.targetprep.TargetSetupError |
DeviceNotAvailableException |
|
TargetSetupError |
|
getFlashingResourcesRetriever
protected IFlashingResourcesRetriever getFlashingResourcesRetriever ()
| 傳回 | |
|---|---|
IFlashingResourcesRetriever |
|
getImageVersion
protected String getImageVersion (ITestDevice device, String imageName)
| 參數 | |
|---|---|
device |
ITestDevice |
imageName |
String |
| 傳回 | |
|---|---|
String |
|
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
TargetSetupError |
|
handleUserDataFlashing
protected void handleUserDataFlashing (ITestDevice device, IDeviceBuildInfo deviceBuild)
處理 userdata/cache 分區的刷機作業
| 參數 | |
|---|---|
device |
ITestDevice:ITestDevice要閃爍 |
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 |
IFlashingResourcesParser:IFlashingResourcesParser |
deviceProductType |
String:device的產品類型 |
| 擲回 | |
|---|---|
TargetSetupError |
如果建構版本所需的主機板資訊與裝置不符 |
wipeCache
protected void wipeCache (ITestDevice device)
清除裝置上的快取分割區。
| 參數 | |
|---|---|
device |
ITestDevice:ITestDevice要閃爍 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
如果裝置無法使用 |
TargetSetupError |
如果無法清除快取 |
wipePartition
protected void wipePartition (ITestDevice device, String partition)
使用 `fastboot erase <name>` 抹除指定分割區
| 參數 | |
|---|---|
device |
ITestDevice:要執行的 ITestDevice |
partition |
String:要清除的分區名稱 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
TargetSetupError |
|