FastbootDeviceFlasher

public class FastbootDeviceFlasher
extends Object implements IDeviceFlasher

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


Una classe che si basa sull'avvio rapido per eseguire il flashing di un'immagine sull'hardware Android fisico.

Riepilogo

Campi

public static final String BASEBAND_IMAGE_NAME

Costruttori pubblici

FastbootDeviceFlasher ()

Metodi pubblici

void flash (ITestDevice device, IDeviceBuildInfo deviceBuild)

I flash si costruiscono sul dispositivo.

CommandStatus getSystemFlashingStatus ()

Recupera lo stato di esecuzione del comando per il flashing delle partizioni di sistema primarie.

IDeviceFlasher.UserDataFlashOption getUserDataFlashOption ()

Ottiene se l'immagine dei dati dell'utente deve essere flashata, cancellata o conservata

void overrideDeviceOptions (ITestDevice device)

Ignora le opzioni per un dispositivo.

void setDataWipeSkipList ( dataWipeSkipList) setDataWipeSkipList ( dataWipeSkipList)

Imposta l'elenco di percorsi di sotto /data per evitare di compensazione quando si utilizza ITestsZipInstaller

Si noti che la granularità della skip list è figli diretti di /data .

void setFlashOptions ( flashOptions) setFlashOptions ( flashOptions)

Imposta un elenco di opzioni da passare con i comandi flash/update.

void setFlashingResourcesRetriever ( IFlashingResourcesRetriever retriever)

Imposta il meccanismo con cui il flasher può recuperare i file di risorse per il flashing.

void setForceSystemFlash (boolean forceSystemFlash)

Imposta se il sistema deve essere sempre aggiornato anche se si esegue la build corrente

void setRamdiskPartition (String ramdiskPartition)

Imposta la partizione del ramdisk

void setShouldFlashRamdisk (boolean shouldFlashRamdisk)

Imposta se deve essere flashato un ramdisk aggiuntivo dopo l'aggiornamento del dispositivo tramite image zip

void setUserDataFlashOption ( IDeviceFlasher.UserDataFlashOption flashOption)

Seleziona se l'immagine dei dati dell'utente deve essere lampeggiata, cancellata o conservata

void setWipeTimeout (long timeout)

Imposta il timeout per la cancellazione dei dati.

boolean shouldFlashRamdisk ()

Controlla se il flasher è impostato per avere un ramdisk aggiuntivo dovrebbe essere flashato dopo l'aggiornamento del dispositivo tramite image zip

Metodi protetti

void checkAndFlashBaseband (ITestDevice device, IDeviceBuildInfo deviceBuild)

Se necessario, eseguire il flashing dell'immagine in banda base sul dispositivo.

boolean checkAndFlashBootloader (ITestDevice device, IDeviceBuildInfo deviceBuild)

Se necessario, flashare l'immagine del bootloader sul dispositivo.

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

Se necessario, flashare l'immagine del sistema sul dispositivo.

boolean checkShouldFlashBaseband (ITestDevice device, IDeviceBuildInfo deviceBuild)

Verificare se è necessario eseguire il flashing della banda base sul dispositivo fornito.

IFlashingResourcesParser createFlashingResourcesParser ( IDeviceBuildInfo localBuild, DeviceDescriptor descriptor)

Metodo factory per creare un IFlashingResourcesParser .

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

Hook per consentire alle sottoclassi di scaricare file di immagine personalizzati aggiuntivi, se necessario.

void downloadFlashingResources (ITestDevice device, IDeviceBuildInfo localBuild)

Download di file di immagine lampeggianti aggiuntivi necessari

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

Metodo di supporto per eseguire il comando fastboot.

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

Metodo di supporto per eseguire un comando fastboot di lunga durata.

void flashBaseband (ITestDevice device, File basebandImageFile)

Lampeggia l'immagine in banda base data e riavvia nel bootloader

void flashBootloader (ITestDevice device, File bootloaderImageFile)

Lampeggia l'immagine del bootloader data e si riavvia nuovamente nel bootloader

void flashExtraImages (ITestDevice device, IDeviceBuildInfo deviceBuild)

Flashare qualsiasi partizione specifica del dispositivo prima di eseguire il flashing del sistema e riavviare.

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

Flashare una singola partizione di un dispositivo

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

Flash l'immagine del sistema sul dispositivo.

void flashUserData (ITestDevice device, IDeviceBuildInfo deviceBuild)

Partizione di dati utente flash sul dispositivo.

void flashUserDataFromDeviceImageFile (ITestDevice device, IDeviceBuildInfo deviceBuild)

Estrae userdata.img dal file immagine del dispositivo e lo fa lampeggiare sul dispositivo

String getBootPartitionName ()

Ottieni il nome della partizione di avvio per questo flasher del dispositivo.

String getBootloaderFilePrefix (ITestDevice device)

Ottieni il prefisso del file del bootloader.

String getCurrentSlot (ITestDevice device)

Metodo di supporto per recuperare lo slot corrente (per dispositivi compatibili con A/B).

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

Metodo di supporto per ottenere la versione dell'immagine corrente sul dispositivo.

IRunUtil getRunUtil ()

Esposto per test.

void handleUserDataFlashing (ITestDevice device, IDeviceBuildInfo deviceBuild)

Gestire il flashing della partizione userdata/cache

boolean hasPartition (ITestDevice device, String partition)

Verifica con il bootloader se la partizione specificata esiste o meno

void preFlashSetup (ITestDevice device, IDeviceBuildInfo deviceBuild)

Eseguire qualsiasi configurazione aggiuntiva di pre-lampeggio richiesta.

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

Verificare che il tipo di prodotto del dispositivo supporti la build da flashare.

void wipeCache (ITestDevice device)

Cancella la partizione della cache sul dispositivo.

void wipePartition (ITestDevice device, String partition)

Cancella la partizione specificata con `fastboot erase <name>`

Campi

BASEBAND_IMAGE_NAME

public static final String BASEBAND_IMAGE_NAME

Costruttori pubblici

FastbootDeviceFlasher

public FastbootDeviceFlasher ()

Metodi pubblici

veloce

public void flash (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

I flash si costruiscono sul dispositivo.

Ritorna immediatamente dopo il completamento del lampeggiamento. I chiamanti devono attendere che il dispositivo sia online e disponibile prima di procedere con il test.

Parametri
device ITestDevice : ITestDevice a lampeggiare

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo a lampeggiare

tiri
DeviceNotAvailableException
TargetSetupError

getSystemFlashingStatus

public CommandStatus getSystemFlashingStatus ()

Recupera lo stato di esecuzione del comando per il flashing delle partizioni di sistema primarie.

Si noti che se le partizioni di sistema non sono lampeggiavano (sistema ha già la build da lampo) lo stato del comando può essere null

ritorna
CommandStatus

getUserDataFlashOption

public IDeviceFlasher.UserDataFlashOption getUserDataFlashOption ()

Ottiene se l'immagine dei dati dell'utente deve essere flashata, cancellata o conservata

ritorna
IDeviceFlasher.UserDataFlashOption Se l'immagine dei dati dell'utente deve essere flashata, cancellata o conservata

overrideDeviceOptions

public void overrideDeviceOptions (ITestDevice device)

Ignora le opzioni per un dispositivo. Utilizzato per sovrascrivere i valori delle opzioni predefinite se le impostazioni predefinite non sono supportate da un particolare dispositivo.

setDataWipeSkipList

public void setDataWipeSkipList ( dataWipeSkipList)

Imposta l'elenco di percorsi di sotto /data per evitare di compensazione quando si utilizza ITestsZipInstaller

Si noti che la granularità della skip list è figli diretti di /data .

Parametri
dataWipeSkipList

setFlashOptions

public void setFlashOptions ( flashOptions)

Imposta un elenco di opzioni da passare con i comandi flash/update.

setFlashingResourcesRetriever

public void setFlashingResourcesRetriever (IFlashingResourcesRetriever retriever)

Imposta il meccanismo con cui il flasher può recuperare i file di risorse per il flashing.

Parametri
retriever IFlashingResourcesRetriever : l' IFlashingResourcesRetriever per uso

setForceSystemFlash

public void setForceSystemFlash (boolean forceSystemFlash)

Imposta se il sistema deve essere sempre aggiornato anche se si esegue la build corrente

setRamdiskPartition

public void setRamdiskPartition (String ramdiskPartition)

Imposta la partizione del ramdisk

setShouldFlashRamdisk

public void setShouldFlashRamdisk (boolean shouldFlashRamdisk)

Imposta se un ramdisk aggiuntivo deve essere flashato dopo l'aggiornamento del dispositivo tramite image zip

setUserDataFlashOption

public void setUserDataFlashOption (IDeviceFlasher.UserDataFlashOption flashOption)

Seleziona se l'immagine dei dati dell'utente deve essere lampeggiata, cancellata o conservata

setWipeTimeout

public void setWipeTimeout (long timeout)

Imposta il timeout per la cancellazione dei dati.

Parametri
timeout long

dovrebbeFlashRamdisk

public boolean shouldFlashRamdisk ()

Controlla se il flasher è impostato per avere un ramdisk aggiuntivo dovrebbe essere flashato dopo l'aggiornamento del dispositivo tramite image zip

ritorna
boolean

Metodi protetti

checkAndFlashBaseband

protected void checkAndFlashBaseband (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Se necessario, eseguire il flashing dell'immagine in banda base sul dispositivo. Lampeggerà la banda base solo se la versione corrente sul dispositivo!= versione richiesta

Parametri
device ITestDevice : ITestDevice a lampeggiare

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo che contiene l'immagine in banda base a lampeggiare

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se non è riuscito a lampeggiare la banda base

checkAndFlashBootloader

protected boolean checkAndFlashBootloader (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Se necessario, flashare l'immagine del bootloader sul dispositivo.

Flasherà il bootloader solo se la versione corrente sul dispositivo!= versione richiesta.

Parametri
device ITestDevice : ITestDevice a lampeggiare

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo che contiene l'immagine bootloader a lampeggiare

ritorna
boolean true se bootloader è stato un lampo, false se fosse saltato

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se non è riuscito a flashare il bootloader

checkAndFlashSystem

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

Se necessario, flashare l'immagine del sistema sul dispositivo.

Si prega di guardare ERROR(/#shouldFlashSystem(String,String,com.android.tradefed.build.IDeviceBuildInfo))

Indipendentemente dal percorso scelto, dopo l'esecuzione del metodo il dispositivo dovrebbe avviarsi nello spazio utente.

Parametri
device ITestDevice : ITestDevice a lampeggiare

systemBuildId String : l'attuale generazione id esecuzione sul dispositivo

systemBuildFlavor String : il sapore generazione corrente in esecuzione sul dispositivo

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo che contiene l'immagine del sistema a lampeggiare

ritorna
boolean true se il sistema è stato un lampo, false se fosse saltato

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se non è riuscito a flashare il bootloader

checkShouldFlashBaseband

protected boolean checkShouldFlashBaseband (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Verificare se è necessario eseguire il flashing della banda base sul dispositivo fornito.

Parametri
device ITestDevice : ITestDevice di controllo

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo che contiene l'immagine in banda base per controllare

ritorna
boolean

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se non è riuscito a lampeggiare la banda base

createFlashingResourcesParser

protected IFlashingResourcesParser createFlashingResourcesParser (IDeviceBuildInfo localBuild, 
                DeviceDescriptor descriptor)

Metodo factory per creare un IFlashingResourcesParser .

Esposto per test unitari.

Parametri
localBuild IDeviceBuildInfo : IDeviceBuildInfo per analizzare

descriptor DeviceDescriptor : il descrittore del dispositivo essendo lampo.

ritorna
IFlashingResourcesParser un IFlashingResourcesParser creato dal metodo factory.

tiri
TargetSetupError

scaricaFileImmagini Extra

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

Hook per consentire alle sottoclassi di scaricare file di immagine personalizzati aggiuntivi, se necessario.

Parametri
resourceParser IFlashingResourcesParser : IFlashingResourcesParser

retriever IFlashingResourcesRetriever : IFlashingResourcesRetriever

localBuild IDeviceBuildInfo : IDeviceBuildInfo

tiri
TargetSetupError

scaricaRisorse Lampeggianti

protected void downloadFlashingResources (ITestDevice device, 
                IDeviceBuildInfo localBuild)

Download di file di immagine lampeggianti aggiuntivi necessari

Parametri
device ITestDevice : ITestDevice alle risorse di download per

localBuild IDeviceBuildInfo : IDeviceBuildInfo per popolare. Presuppone che il file immagine del dispositivo sia già impostato

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se non è riuscito a recuperare le risorse

eseguiFastbootCmd

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

Metodo di supporto per eseguire il comando fastboot.

Parametri
device ITestDevice : ITestDevice per eseguire il comando su

cmdArgs String : gli argomenti per fornire a fastboot

ritorna
String Stringa l'output di stderr dal comando se non è vuoto. Altrimenti restituisce lo stdout Alcuni comandi di avvio rapido sono strani in quanto scaricano l'output su stderr in caso di successo

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se il comando fastboot fallisce

executeLongFastbootCmd

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

Metodo di supporto per eseguire un comando fastboot di lunga durata.

Nota: La maggior parte dei comandi fastboot normalmente eseguiti entro il timeout consentito dalla INativeDevice.executeFastbootCommand(String) . Tuttavia, quando più dispositivi stanno lampeggiando dispositivi contemporaneamente, i comandi di avvio rapido possono richiedere molto più tempo del normale.

Parametri
device ITestDevice : ITestDevice per eseguire il comando su

cmdArgs String : gli argomenti per fornire a fastboot

ritorna
String Stringa l'output di stderr dal comando se non è vuoto. Altrimenti restituisce lo stdout Alcuni comandi di avvio rapido sono strani in quanto scaricano l'output su stderr in caso di successo

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se il comando fastboot fallisce

flashBaseband

protected void flashBaseband (ITestDevice device, 
                File basebandImageFile)

Lampeggia l'immagine in banda base data e riavvia nel bootloader

Parametri
device ITestDevice : ITestDevice a lampeggiare

basebandImageFile File : l'immagine in banda ERROR(/File)

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se non è riuscito a lampeggiare la banda base

flashBootloader

protected void flashBootloader (ITestDevice device, 
                File bootloaderImageFile)

Lampeggia l'immagine del bootloader data e si riavvia nuovamente nel bootloader

Parametri
device ITestDevice : ITestDevice a lampeggiare

bootloaderImageFile File : l'immagine bootloader ERROR(/File)

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se non lampeggia

flashExtraImages

protected void flashExtraImages (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Flashare qualsiasi partizione specifica del dispositivo prima di eseguire il flashing del sistema e riavviare. No-op a meno che non venga annullato.

Parametri
device ITestDevice : ITestDevice a lampeggiare

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo che contiene i file di generazione

tiri
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

flashPartition

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

Flashare una singola partizione di un dispositivo

Parametri
device ITestDevice : ITestDevice a lampeggiare

imgFile File : un ERROR(/File) che indica l'immagine da balenò

partition String : il nome della partizione da essere balenato

tiri
DeviceNotAvailableException
TargetSetupError

flashRamdiskIfNeeded

protected void flashRamdiskIfNeeded (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Parametri
device ITestDevice

deviceBuild IDeviceBuildInfo

tiri
DeviceNotAvailableException
TargetSetupError

sistema flash

protected void flashSystem (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Flash l'immagine del sistema sul dispositivo.

Parametri
device ITestDevice : ITestDevice a lampeggiare

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo a lampeggiare

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se il comando fastboot fallisce

flashUserData

protected void flashUserData (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Partizione di dati utente flash sul dispositivo.

Parametri
device ITestDevice : ITestDevice a lampeggiare

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo che contiene i file in Flash

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se non è riuscito a flashare i dati dell'utente

flashUserDataFromDeviceImageFile

protected void flashUserDataFromDeviceImageFile (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Estrae userdata.img dal file immagine del dispositivo e lo fa lampeggiare sul dispositivo

Parametri
device ITestDevice : ITestDevice a lampeggiare

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo che contiene i file in Flash

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se non è riuscito a estrarre o flashare i dati dell'utente

getBootPartitionName

protected String getBootPartitionName ()

Ottieni il nome della partizione di avvio per questo flasher del dispositivo.

Il valore predefinito è "bootloader". Le sottoclassi dovrebbero sovrascrivere se necessario.

ritorna
String

getBootloaderFilePrefix

protected String getBootloaderFilePrefix (ITestDevice device)

Ottieni il prefisso del file del bootloader.

Il valore predefinito è getBootPartitionName() . Le sottoclassi dovrebbero sovrascrivere se necessario.

Parametri
device ITestDevice : ITestDevice a lampeggiare

ritorna
String

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se non riesci a ottenere il prefisso

getCurrentSlot

protected String getCurrentSlot (ITestDevice device)

Metodo di supporto per recuperare lo slot corrente (per dispositivi compatibili con A/B).

Parametri
device ITestDevice : ITestDevice per eseguire il comando su.

ritorna
String "a", "b" o null (se il dispositivo non è compatibile con A/B)

tiri
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

getFlashingResourcesRetriever

protected IFlashingResourcesRetriever getFlashingResourcesRetriever ()

ritorna
IFlashingResourcesRetriever

getImageVersion

protected String getImageVersion (ITestDevice device, 
                String imageName)

Metodo di supporto per ottenere la versione dell'immagine corrente sul dispositivo.

Parametri
device ITestDevice : ITestDevice per eseguire il comando su

imageName String : il nome di immagine per ottenere.

ritorna
String Stringa l'output stdout dal comando

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se il comando fastboot fallisce o non è possibile determinare la versione

getRunUtil

protected IRunUtil getRunUtil ()

Esposto per test.

ritorna
IRunUtil

handleUserDataFlashing

protected void handleUserDataFlashing (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Gestire il flashing della partizione userdata/cache

Parametri
device ITestDevice : ITestDevice a lampeggiare

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo che contiene i file in Flash

tiri
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

haPartizione

protected boolean hasPartition (ITestDevice device, 
                String partition)

Verifica con il bootloader se la partizione specificata esiste o meno

Parametri
device ITestDevice : ITestDevice di operare su

partition String : il nome della partizione da controllare

ritorna
boolean

tiri
DeviceNotAvailableException

preFlashSetup

protected void preFlashSetup (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Eseguire qualsiasi configurazione aggiuntiva di pre-lampeggio richiesta. No-op a meno che non venga annullato.

Parametri
device ITestDevice : ITestDevice per preparare

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo che contiene i file di generazione

tiri
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

verificaRequiredBoard

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

Verificare che il tipo di prodotto del dispositivo supporti la build da flashare.

L'implementazione di base verificherà che la deviceProductType è incluso nelle IFlashingResourcesParser.getRequiredBoards() raccolta. Le sottoclassi possono sovrascrivere come desiderato.

Parametri
device ITestDevice : ITestDevice per essere balenato

resourceParser IFlashingResourcesParser : IFlashingResourcesParser

deviceProductType String : il device 's tipo di prodotto

tiri
TargetSetupError se le informazioni sulla scheda richieste della build non corrispondono al dispositivo

wipeCache

protected void wipeCache (ITestDevice device)

Cancella la partizione della cache sul dispositivo.

Parametri
device ITestDevice : ITestDevice a lampeggiare

tiri
DeviceNotAvailableException se il dispositivo non è disponibile
TargetSetupError se non è riuscito a flashare la cache

cancellare la partizione

protected void wipePartition (ITestDevice device, 
                String partition)

Cancella la partizione specificata con `fastboot erase <name>`

Parametri
device ITestDevice : ITestDevice di operare su

partition String : il nome della partizione da essere cancellato

tiri
DeviceNotAvailableException
TargetSetupError