FastbootDispositifFlasher

public class FastbootDeviceFlasher
extends Object implements IDeviceFlasher en implements IDeviceFlasher

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


Une classe qui s'appuie sur fastboot pour flasher une image sur du matériel Android physique.

Sommaire

Des champs

public static final String BASEBAND_IMAGE_NAME

Constructeurs publics

FastbootDeviceFlasher ()

Méthodes publiques

void flash (ITestDevice device, IDeviceBuildInfo deviceBuild)

Les flashs sont construits sur l'appareil.

CommandStatus getSystemFlashingStatus ()

Récupérez l'état d'exécution de la commande pour flasher les partitions système principales.

IDeviceFlasher.UserDataFlashOption getUserDataFlashOption ()

Obtient si l'image des données utilisateur doit être flashée, effacée ou conservée

void overrideDeviceOptions (ITestDevice device)

Remplacer les options d'un appareil.

void setDataWipeSkipList ( dataWipeSkipList) setDataWipeSkipList ( dataWipeSkipList)

Définit la liste des chemins sous /data afin d' éviter la compensation lors de l' utilisation ITestsZipInstaller

Notez que la granularité de la liste de saut est des enfants directs de /data .

void setFlashOptions ( flashOptions) setFlashOptions ( flashOptions)

Définit une liste d'options à transmettre avec les commandes flash/update.

void setFlashingResourcesRetriever ( IFlashingResourcesRetriever retriever)

Définit le mécanisme par lequel le flasheur peut récupérer les fichiers de ressources pour le flashage.

void setForceSystemFlash (boolean forceSystemFlash)

Définit si le système doit toujours être flashé même si vous exécutez la version actuelle

void setRamdiskPartition (String ramdiskPartition)

Définit la partition du disque RAM

void setShouldFlashRamdisk (boolean shouldFlashRamdisk)

Définit si un disque RAM supplémentaire doit être flashé après la mise à jour de l'appareil via l'image zip

void setUserDataFlashOption ( IDeviceFlasher.UserDataFlashOption flashOption)

Bascule si l'image des données utilisateur doit être flashée, effacée ou conservée

void setWipeTimeout (long timeout)

Définissez le délai d'expiration pour effacer les données.

boolean shouldFlashRamdisk ()

Vérifie si le flasher est configuré pour avoir un disque RAM supplémentaire doit être flashé après la mise à jour du périphérique via l'image zip

Méthodes protégées

void checkAndFlashBaseband (ITestDevice device, IDeviceBuildInfo deviceBuild)

Si nécessaire, flashez l'image de bande de base sur l'appareil.

boolean checkAndFlashBootloader (ITestDevice device, IDeviceBuildInfo deviceBuild)

Si nécessaire, flashez l'image du chargeur de démarrage sur l'appareil.

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

Si nécessaire, flashez l'image système sur l'appareil.

boolean checkShouldFlashBaseband (ITestDevice device, IDeviceBuildInfo deviceBuild)

Vérifiez si la bande de base de l'appareil fourni doit être flashée.

IFlashingResourcesParser createFlashingResourcesParser ( IDeviceBuildInfo localBuild, DeviceDescriptor descriptor)

Méthode de l' usine pour la création d' un IFlashingResourcesParser .

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

Hook pour permettre aux sous-classes de télécharger des fichiers image personnalisés supplémentaires si nécessaire.

void downloadFlashingResources (ITestDevice device, IDeviceBuildInfo localBuild)

Téléchargements de fichiers d'images clignotants supplémentaires nécessaires

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

Méthode d'assistance pour exécuter la commande fastboot.

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

Méthode d'assistance pour exécuter une commande fastboot de longue durée.

void flashBaseband (ITestDevice device, File basebandImageFile)

Clignote l'image de bande de base donnée et redémarre dans le chargeur de démarrage

void flashBootloader (ITestDevice device, File bootloaderImageFile)

Clignote l'image donnée du chargeur de démarrage et redémarre dans le chargeur de démarrage

void flashExtraImages (ITestDevice device, IDeviceBuildInfo deviceBuild)

Flashez toutes les partitions spécifiques à un périphérique avant de flasher le système et de redémarrer.

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

Flasher une partition individuelle d'un appareil

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

Flashez l'image système sur l'appareil.

void flashUserData (ITestDevice device, IDeviceBuildInfo deviceBuild)

Partition de données utilisateur flash sur l'appareil.

void flashUserDataFromDeviceImageFile (ITestDevice device, IDeviceBuildInfo deviceBuild)

Extrait le fichier userdata.img du fichier image de l'appareil et le flashe sur l'appareil

String getBootPartitionName ()

Obtenez le nom de la partition de démarrage pour ce clignotant de périphérique.

String getBootloaderFilePrefix (ITestDevice device)

Obtenez le préfixe du fichier bootloader.

String getCurrentSlot (ITestDevice device)

Méthode d'assistance pour récupérer l'emplacement actuel (pour les appareils compatibles A/B).

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

Méthode d'assistance pour obtenir la version actuelle de l'image sur l'appareil.

IRunUtil getRunUtil ()

Exposé pour les tests.

void handleUserDataFlashing (ITestDevice device, IDeviceBuildInfo deviceBuild)

Gérer le clignotement de la partition userdata/cache

boolean hasPartition (ITestDevice device, String partition)

Vérifie avec le bootloader si la partition spécifiée existe ou non

void preFlashSetup (ITestDevice device, IDeviceBuildInfo deviceBuild)

Effectuez toute configuration de pré-clignotement supplémentaire requise.

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

Vérifiez que le type de produit de l'appareil prend en charge le build-to-be-flasher.

void wipeCache (ITestDevice device)

Essuyez la partition de cache sur l'appareil.

void wipePartition (ITestDevice device, String partition)

Essuyez la partition spécifiée avec `fastboot effacer <nom>`

Des champs

BASEBAND_IMAGE_NAME

public static final String BASEBAND_IMAGE_NAME

Constructeurs publics

FastbootDispositifFlasher

public FastbootDeviceFlasher ()

Méthodes publiques

éclat

public void flash (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Les flashs sont construits sur l'appareil.

Revient immédiatement après la fin du clignotement. Les appelants doivent attendre que l'appareil soit en ligne et disponible avant de procéder au test.

Paramètres
device ITestDevice : le ITestDevice à clignoter

deviceBuild IDeviceBuildInfo : le IDeviceBuildInfo à clignoter

Jetés
DeviceNotAvailableException
TargetSetupError

getSystemFlashingStatus

public CommandStatus getSystemFlashingStatus ()

Récupérez l'état d'exécution de la commande pour flasher les partitions système principales.

Notez que si les partitions du système ne sont pas flashé (système a déjà la construction à être flashé) l'état de la commande peut être null

Retour
CommandStatus

getUserDataFlashOption

public IDeviceFlasher.UserDataFlashOption getUserDataFlashOption ()

Obtient si l'image des données utilisateur doit être flashée, effacée ou conservée

Retour
IDeviceFlasher.UserDataFlashOption Si l'image des données utilisateur doit être flashée, effacée ou conservée

overrideDeviceOptions

public void overrideDeviceOptions (ITestDevice device)

Remplacer les options d'un appareil. Utilisé pour remplacer les valeurs d'option par défaut si les valeurs par défaut ne sont pas prises en charge par un périphérique particulier.

setDataWipeSkipList

public void setDataWipeSkipList ( dataWipeSkipList)

Définit la liste des chemins sous /data afin d' éviter la compensation lors de l' utilisation ITestsZipInstaller

Notez que la granularité de la liste de saut est des enfants directs de /data .

Paramètres
dataWipeSkipList

setFlashOptions

public void setFlashOptions ( flashOptions)

Définit une liste d'options à transmettre avec les commandes flash/update.

setClignotantRessourcesRetriever

public void setFlashingResourcesRetriever (IFlashingResourcesRetriever retriever)

Définit le mécanisme par lequel le flasheur peut récupérer les fichiers de ressources pour le flashage.

Paramètres
retriever IFlashingResourcesRetriever : le IFlashingResourcesRetriever à l' utilisation

setForceSystemFlash

public void setForceSystemFlash (boolean forceSystemFlash)

Définit si le système doit toujours être flashé même si vous exécutez la version actuelle

setRamdiskPartition

public void setRamdiskPartition (String ramdiskPartition)

Définit la partition du disque RAM

setShouldFlashRamdisk

public void setShouldFlashRamdisk (boolean shouldFlashRamdisk)

Définit si un disque RAM supplémentaire doit être flashé après la mise à jour de l'appareil via l'image zip

setUserDataFlashOption

public void setUserDataFlashOption (IDeviceFlasher.UserDataFlashOption flashOption)

Bascule si l'image des données utilisateur doit être flashée, effacée ou conservée

setWipeTimeout

public void setWipeTimeout (long timeout)

Définissez le délai d'expiration pour effacer les données.

Paramètres
timeout long

devraitFlashRamdisk

public boolean shouldFlashRamdisk ()

Vérifie si le flasher est configuré pour avoir un disque RAM supplémentaire doit être flashé après la mise à jour du périphérique via l'image zip

Retour
boolean

Méthodes protégées

checkAndFlashBaseband

protected void checkAndFlashBaseband (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Si nécessaire, flashez l'image de bande de base sur l'appareil. Ne flashera la bande de base que si la version actuelle sur l'appareil != version requise

Paramètres
device ITestDevice : le ITestDevice à clignoter

deviceBuild IDeviceBuildInfo : le IDeviceBuildInfo qui contient l'image en bande de base à clignoter

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError s'il n'a pas réussi à flasher la bande de base

checkAndFlashBootloader

protected boolean checkAndFlashBootloader (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Si nécessaire, flashez l'image du chargeur de démarrage sur l'appareil.

Ne flashera le bootloader que si la version actuelle sur l'appareil != version requise.

Paramètres
device ITestDevice : le ITestDevice à clignoter

deviceBuild IDeviceBuildInfo : le IDeviceBuildInfo qui contient l'image de bootloader à clignoter

Retour
boolean true si bootloader a été flashé, false si elle a été sautée

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError en cas d'échec de flasher le chargeur de démarrage

checkAndFlashSystem

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

Si nécessaire, flashez l'image système sur l'appareil.

S'il vous plaît consulter ERROR(/#shouldFlashSystem(String,String,com.android.tradefed.build.IDeviceBuildInfo))

Quel que soit le chemin choisi, après l'exécution de la méthode, le périphérique doit démarrer dans l'espace utilisateur.

Paramètres
device ITestDevice : le ITestDevice à clignoter

systemBuildId String : l'ID de construction en cours sur le dispositif en cours d' exécution

systemBuildFlavor String : la saveur de construction en cours sur le dispositif en cours d' exécution

deviceBuild IDeviceBuildInfo : le IDeviceBuildInfo qui contient l'image du système à clignoter

Retour
boolean true si le système a été flashé, false si elle a été sautée

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError en cas d'échec de flasher le chargeur de démarrage

checkShouldFlashBaseband

protected boolean checkShouldFlashBaseband (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Vérifiez si la bande de base de l'appareil fourni doit être flashée.

Paramètres
device ITestDevice : le ITestDevice à vérifier

deviceBuild IDeviceBuildInfo : le IDeviceBuildInfo qui contient l'image en bande de base pour vérifier

Retour
boolean

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError s'il n'a pas réussi à flasher la bande de base

createFlashingResourcesParser

protected IFlashingResourcesParser createFlashingResourcesParser (IDeviceBuildInfo localBuild, 
                DeviceDescriptor descriptor)

Méthode de l' usine pour la création d' un IFlashingResourcesParser .

Exposé pour les tests unitaires.

Paramètres
localBuild IDeviceBuildInfo : le IDeviceBuildInfo pour analyser

descriptor DeviceDescriptor : le descripteur du dispositif étant flashé.

Retour
IFlashingResourcesParser un IFlashingResourcesParser créé par la méthode de l' usine.

Jetés
TargetSetupError

téléchargerExtraImageFiles

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

Hook pour permettre aux sous-classes de télécharger des fichiers image personnalisés supplémentaires si nécessaire.

Paramètres
resourceParser IFlashingResourcesParser : le IFlashingResourcesParser

retriever IFlashingResourcesRetriever : le IFlashingResourcesRetriever

localBuild IDeviceBuildInfo : le IDeviceBuildInfo

Jetés
TargetSetupError

téléchargerFlashingResources

protected void downloadFlashingResources (ITestDevice device, 
                IDeviceBuildInfo localBuild)

Téléchargements de fichiers d'images clignotants supplémentaires nécessaires

Paramètres
device ITestDevice : le ITestDevice aux ressources de téléchargement

localBuild IDeviceBuildInfo : le IDeviceBuildInfo à remplir. Suppose que le fichier image de l'appareil est déjà défini

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError en cas d'échec de la récupération des ressources

exécuterFastbootCmd

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

Méthode d'assistance pour exécuter la commande fastboot.

Paramètres
device ITestDevice : la ITestDevice d'exécuter la commande sur

cmdArgs String : les arguments pour fournir à fastboot

Retour
String Chaînez la sortie stderr de la commande si elle n'est pas vide. Sinon, renvoie le stdout Certaines commandes fastboot sont étranges en ce sens qu'elles vident la sortie vers stderr en cas de réussite

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError si la commande fastboot échoue

exécuterLongFastbootCmd

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

Méthode d'assistance pour exécuter une commande fastboot de longue durée.

Note: La plupart des commandes fastboot exécutent normalement dans le délai autorisé par INativeDevice.executeFastbootCommand(String) . Cependant, lorsque plusieurs appareils clignotent en même temps, les commandes de démarrage rapide peuvent prendre beaucoup plus de temps que la normale.

Paramètres
device ITestDevice : la ITestDevice d'exécuter la commande sur

cmdArgs String : les arguments pour fournir à fastboot

Retour
String Chaînez la sortie stderr de la commande si elle n'est pas vide. Sinon, renvoie le stdout Certaines commandes fastboot sont étranges en ce sens qu'elles vident la sortie vers stderr en cas de réussite

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError si la commande fastboot échoue

flashBaseband

protected void flashBaseband (ITestDevice device, 
                File basebandImageFile)

Clignote l'image de bande de base donnée et redémarre dans le chargeur de démarrage

Paramètres
device ITestDevice : le ITestDevice à clignoter

basebandImageFile File : l'image en bande de base ERROR(/File)

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError s'il n'a pas réussi à flasher la bande de base

flashBootloader

protected void flashBootloader (ITestDevice device, 
                File bootloaderImageFile)

Clignote l'image donnée du chargeur de démarrage et redémarre dans le chargeur de démarrage

Paramètres
device ITestDevice : le ITestDevice à clignoter

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

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError s'il n'a pas réussi à clignoter

flashExtraImages

protected void flashExtraImages (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Flashez toutes les partitions spécifiques à un périphérique avant de flasher le système et de redémarrer. No-op à moins d'être remplacé.

Paramètres
device ITestDevice : le ITestDevice à clignoter

deviceBuild IDeviceBuildInfo : le IDeviceBuildInfo contenant les fichiers de construction

Jetés
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

flashPartition

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

Flasher une partition individuelle d'un appareil

Paramètres
device ITestDevice : le ITestDevice à clignoter

imgFile File : une ERROR(/File) pointant vers l'image luire

partition String : le nom de la partition à être flashé

Jetés
DeviceNotAvailableException
TargetSetupError

flashRamdiskSi nécessaire

protected void flashRamdiskIfNeeded (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Paramètres
device ITestDevice

deviceBuild IDeviceBuildInfo

Jetés
DeviceNotAvailableException
TargetSetupError

flashSystème

protected void flashSystem (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Flashez l'image système sur l'appareil.

Paramètres
device ITestDevice : le ITestDevice à clignoter

deviceBuild IDeviceBuildInfo : le IDeviceBuildInfo à clignoter

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError si la commande fastboot échoue

flashUserData

protected void flashUserData (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Partition de données utilisateur flash sur l'appareil.

Paramètres
device ITestDevice : le ITestDevice à clignoter

deviceBuild IDeviceBuildInfo : le IDeviceBuildInfo qui contient les fichiers au format Flash

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError en cas d'échec du flash des données utilisateur

flashUserDataFromDeviceImageFile

protected void flashUserDataFromDeviceImageFile (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Extrait le fichier userdata.img du fichier image de l'appareil et le flashe sur l'appareil

Paramètres
device ITestDevice : le ITestDevice à clignoter

deviceBuild IDeviceBuildInfo : le IDeviceBuildInfo qui contient les fichiers au format Flash

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError en cas d'échec de l'extraction ou du flash des données utilisateur

getBootPartitionName

protected String getBootPartitionName ()

Obtenez le nom de la partition de démarrage pour ce clignotant de périphérique.

La valeur par défaut est « bootloader ». Les sous-classes doivent remplacer si nécessaire.

Retour
String

getBootloaderFilePrefix

protected String getBootloaderFilePrefix (ITestDevice device)

Obtenez le préfixe du fichier bootloader.

La valeur par défaut getBootPartitionName() . Les sous-classes doivent remplacer si nécessaire.

Paramètres
device ITestDevice : le ITestDevice à clignoter

Retour
String

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError s'il n'a pas réussi à obtenir le préfixe

getCurrentSlot

protected String getCurrentSlot (ITestDevice device)

Méthode d'assistance pour récupérer l'emplacement actuel (pour les appareils compatibles A/B).

Paramètres
device ITestDevice : la ITestDevice d'exécuter la commande sur.

Retour
String "a", "b" ou null (si l'appareil n'est pas compatible A/B)

Jetés
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

getFlashingResourcesRetriever

protected IFlashingResourcesRetriever getFlashingResourcesRetriever ()

Retour
IFlashingResourcesRetriever

getImageVersion

protected String getImageVersion (ITestDevice device, 
                String imageName)

Méthode d'assistance pour obtenir la version actuelle de l'image sur l'appareil.

Paramètres
device ITestDevice : la ITestDevice d'exécuter la commande sur

imageName String : le nom de l' image pour obtenir.

Retour
String Chaîne la sortie stdout de la commande

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError si la commande fastboot échoue ou si la version n'a pas pu être déterminée

getRunUtil

protected IRunUtil getRunUtil ()

Exposé pour les tests.

Retour
IRunUtil

handleUserDataFlashing

protected void handleUserDataFlashing (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Gérer le clignotement de la partition userdata/cache

Paramètres
device ITestDevice : le ITestDevice à clignoter

deviceBuild IDeviceBuildInfo : le IDeviceBuildInfo qui contient les fichiers au format Flash

Jetés
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

aPartition

protected boolean hasPartition (ITestDevice device, 
                String partition)

Vérifie avec le bootloader si la partition spécifiée existe ou non

Paramètres
device ITestDevice : le ITestDevice pour fonctionner sur

partition String : le nom de la partition à vérifier

Retour
boolean

Jetés
DeviceNotAvailableException

PreFlashSetup

protected void preFlashSetup (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Effectuez toute configuration de pré-clignotement supplémentaire requise. No-op à moins d'être remplacé.

Paramètres
device ITestDevice : le ITestDevice pour préparer

deviceBuild IDeviceBuildInfo : le IDeviceBuildInfo contenant les fichiers de construction

Jetés
com.android.tradefed.device.DeviceNotAvailableException
TargetSetupError
DeviceNotAvailableException

verifyRequiredBoards

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

Vérifiez que le type de produit de l'appareil prend en charge le build-to-be-flasher.

La mise en œuvre de base vérifiera que le deviceProductType est inclus dans les IFlashingResourcesParser.getRequiredBoards() collecte. Les sous-classes peuvent remplacer comme vous le souhaitez.

Paramètres
device ITestDevice : le ITestDevice luire

resourceParser IFlashingResourcesParser : le IFlashingResourcesParser

deviceProductType String : le device de type de produit de »

Jetés
TargetSetupError si les informations de carte requises pour la construction ne correspondent pas à l'appareil

essuyer le cache

protected void wipeCache (ITestDevice device)

Essuyez la partition de cache sur l'appareil.

Paramètres
device ITestDevice : le ITestDevice à clignoter

Jetés
DeviceNotAvailableException si l'appareil n'est pas disponible
TargetSetupError en cas d'échec de flasher le cache

essuyerPartition

protected void wipePartition (ITestDevice device, 
                String partition)

Essuyez la partition spécifiée avec `fastboot effacer <nom>`

Paramètres
device ITestDevice : le ITestDevice pour fonctionner sur

partition String : le nom de la partition à essuyer

Jetés
DeviceNotAvailableException
TargetSetupError