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 , чтобы избежать очистки при использовании ITestsZipInstaller

Обратите внимание , что степень детализации списка пропуском является прямыми потомками /data .

void setFlashOptions ( flashOptions) setFlashOptions ( flashOptions)

Устанавливает список параметров для передачи с командами flash / update.

void setFlashingResourcesRetriever ( IFlashingResourcesRetriever retriever)

Устанавливает механизм, с помощью которого флешер может извлекать файлы ресурсов для прошивки.

void setForceSystemFlash (boolean forceSystemFlash)

Устанавливает, должна ли система всегда мигать, даже если запущена текущая сборка

void setRamdiskPartition (String ramdiskPartition)

Устанавливает раздел RAMDisk

void setShouldFlashRamdisk (boolean shouldFlashRamdisk)

Устанавливает, следует ли прошивать дополнительный RAM-диск после обновления устройства с помощью ZIP-архива.

void setUserDataFlashOption ( IDeviceFlasher.UserDataFlashOption flashOption)

Переключает, следует ли прошивать, стирать или сохранять изображение пользовательских данных.

void setWipeTimeout (long timeout)

Установите тайм-аут для очистки данных.

boolean shouldFlashRamdisk ()

Проверяет, настроен ли флешер на наличие дополнительного RAM-диска, который должен быть прошит после обновления устройства с помощью архива образа.

Защищенные методы

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)

Проверьте, нужно ли прошивать baseband на предоставленном устройстве.

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.

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)

Прошивка раздела с пользовательскими данными на устройстве.

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)

Вспомогательный метод для получения текущей версии образа на устройстве.

IRunUtil getRunUtil ()

Выставлен на тестирование.

void handleUserDataFlashing (ITestDevice device, IDeviceBuildInfo deviceBuild)

Обработка перепрошивки раздела userdata / cache

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 erase <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 , чтобы избежать очистки при использовании ITestsZipInstaller

Обратите внимание , что степень детализации списка пропуском является прямыми потомками /data .

Параметры
dataWipeSkipList

setFlashOptions

public void setFlashOptions ( flashOptions)

Устанавливает список параметров для передачи с командами flash / update.

setFlashingResourcesRetriever

public void setFlashingResourcesRetriever (IFlashingResourcesRetriever retriever)

Устанавливает механизм, с помощью которого флешер может извлекать файлы ресурсов для прошивки.

Параметры
retriever IFlashingResourcesRetriever : в IFlashingResourcesRetriever к использованию

setForceSystemFlash

public void setForceSystemFlash (boolean forceSystemFlash)

Устанавливает, должна ли система всегда мигать, даже если запущена текущая сборка

setRamdiskPartition

public void setRamdiskPartition (String ramdiskPartition)

Устанавливает раздел RAMDisk

setShouldFlashRamdisk

public void setShouldFlashRamdisk (boolean shouldFlashRamdisk)

Устанавливает, следует ли прошивать дополнительный RAM-диск после обновления устройства с помощью ZIP-архива.

setUserDataFlashOption

public void setUserDataFlashOption (IDeviceFlasher.UserDataFlashOption flashOption)

Переключает, следует ли прошивать, стирать или сохранять изображение пользовательских данных.

setWipeTimeout

public void setWipeTimeout (long timeout)

Установите тайм-аут для очистки данных.

Параметры
timeout long

shouldFlashRamdisk

public boolean shouldFlashRamdisk ()

Проверяет, настроен ли флешер на наличие дополнительного RAM-диска, который должен быть прошит после обновления устройства с помощью архива образа.

Возврат
boolean

Защищенные методы

checkAndFlashBaseband

protected void checkAndFlashBaseband (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

При необходимости прошейте изображение основной полосы частот на устройстве. Будет мигать только основная полоса, если на устройстве установлена ​​текущая версия! = Требуемая версия

Параметры
device ITestDevice : ITestDevice мигать

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo , который содержит низкочастотное изображение прошить

Броски
DeviceNotAvailableException если устройство недоступно
TargetSetupError если не удалось прошить baseband

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 : текущая сборка идентификатор запущенного на устройстве

systemBuildFlavor String : текущий аромат сборки , запущенный на устройстве

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo , который содержит образ системы прошить

Возврат
boolean true , если система была мелькнуло, false , если он был пропущен

Броски
DeviceNotAvailableException если устройство недоступно
TargetSetupError если не удалось прошить загрузчик

checkShouldFlashBaseband

protected boolean checkShouldFlashBaseband (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Проверьте, нужно ли прошивать baseband на предоставленном устройстве.

Параметры
device ITestDevice : ITestDevice для проверки

deviceBuild IDeviceBuildInfo : IDeviceBuildInfo , который содержит низкочастотное изображение , чтобы проверить

Возврат
boolean

Броски
DeviceNotAvailableException если устройство недоступно
TargetSetupError если не удалось прошить baseband

createFlashingResourcesParser

protected IFlashingResourcesParser createFlashingResourcesParser (IDeviceBuildInfo localBuild, 
                DeviceDescriptor descriptor)

Фабричный метод для создания IFlashingResourcesParser .

Доступен для модульного тестирования.

Параметры
localBuild IDeviceBuildInfo : в IDeviceBuildInfo для синтаксического анализа

descriptor DeviceDescriptor : дескриптор устройства мигающих сигналов.

Возврат
IFlashingResourcesParser IFlashingResourcesParser созданный заводским способом.

Броски
TargetSetupError

скачатьExtraImageFiles

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

Хук, позволяющий подклассам при необходимости загружать дополнительные файлы пользовательских изображений.

Параметры
resourceParser IFlashingResourcesParser : в IFlashingResourcesParser

retriever IFlashingResourcesRetriever : в IFlashingResourcesRetriever

localBuild IDeviceBuildInfo : IDeviceBuildInfo

Броски
TargetSetupError

скачать ПрошивкаРесурсы

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. Некоторые команды fastboot странны тем, что они сбрасывают вывод в 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. Некоторые команды fastboot странны тем, что они сбрасывают вывод в stderr в случае успеха.

Броски
DeviceNotAvailableException если устройство недоступно
TargetSetupError если команда fastboot не работает

flashBaseband

protected void flashBaseband (ITestDevice device, 
                File basebandImageFile)

Мигает заданный образ основной полосы частот и перезагружается обратно в загрузчик

Параметры
device ITestDevice : ITestDevice мигать

basebandImageFile File : базовая полоса изображения ERROR(/File)

Броски
DeviceNotAvailableException если устройство недоступно
TargetSetupError если не удалось прошить baseband

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)

Прошивка раздела с пользовательскими данными на устройстве.

Параметры
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 ()

Получите имя загрузочного раздела для этого прошивальщика устройства.

По умолчанию - "загрузчик". При необходимости подклассы следует переопределить.

Возврат
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
TargetSetupError
DeviceNotAvailableException

getFlashingResourcesRetriever

protected IFlashingResourcesRetriever getFlashingResourcesRetriever ()

Возврат
IFlashingResourcesRetriever

getImageVersion

protected String getImageVersion (ITestDevice device, 
                String imageName)

Вспомогательный метод для получения текущей версии образа на устройстве.

Параметры
device ITestDevice : ITestDevice выполнить команду

imageName String : имя изображения , чтобы получить.

Возврат
String Строка вывода stdout из команды

Броски
DeviceNotAvailableException если устройство недоступно
TargetSetupError если команда fastboot не работает или версия не может быть определена

getRunUtil

protected IRunUtil getRunUtil ()

Выставлен на тестирование.

Возврат
IRunUtil

handleUserDataFlashing

protected void handleUserDataFlashing (ITestDevice device, 
                IDeviceBuildInfo deviceBuild)

Обработка перепрошивки раздела userdata / cache

Параметры
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)

Убедитесь, что тип продукта устройства поддерживает прошивку.

Базовая реализация будет убедиться , что deviceProductType входит в IFlashingResourcesParser.getRequiredBoards() сбора. Подклассы могут иметь приоритет над по желанию.

Параметры
device ITestDevice : ITestDevice чтобы быть прошит

resourceParser IFlashingResourcesParser : в IFlashingResourcesParser

deviceProductType Снабжать device String , String и т.п. : НАСТОЯЩИМ device , «сек Тип продукта

Броски
TargetSetupError если информация о плате, необходимая для сборки, не соответствует устройству

стереть кэш

protected void wipeCache (ITestDevice device)

Очистите раздел кеша на устройстве.

Параметры
device ITestDevice : ITestDevice мигать

Броски
DeviceNotAvailableException если устройство недоступно
TargetSetupError если не удалось прошить кеш

стереть раздел

protected void wipePartition (ITestDevice device, 
                String partition)

Очистите указанный раздел с помощью `fastboot erase <name>`

Параметры
device ITestDevice : ITestDevice работать на

partition String : имя раздела протирать

Броски
DeviceNotAvailableException
TargetSetupError