TestDevice

public class TestDevice
extends NativeDevice

java.lang.Object
com.android.tradefed.device.NativeDevice
com.android.tradefed.device.TestDevice


Реализация ITestDevice для полнофункционального Android-устройства

Краткое содержание

Вложенные классы

class TestDevice.MicrodroidBuilder

Конструктор, используемый для создания Microdroid TestDevice.

Константы

String DISMISS_KEYGUARD_CMD

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

Публичные конструкторы

TestDevice ( IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

Публичные методы

boolean canSwitchToHeadlessSystemUser ()

Возвращает информацию о том, разрешено ли переключиться на пользователя SYSTEM без графического интерфейса.

boolean clearErrorDialogs ()

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

int createUser (String name)

Создайте пользователя с заданным именем и флагами по умолчанию 0.

int createUser (String name, boolean guest, boolean ephemeral)

Создайте пользователя с заданным именем и предоставленными флагами.

int createUser (String name, boolean guest, boolean ephemeral, boolean forTesting)

Создайте пользователя с заданным именем и предоставленными флагами.

int createUserNoThrow (String name)

Создайте пользователя с заданным именем и флагами по умолчанию 0.

void disableKeyguard ()

Попытки отключить блокировку клавиатуры.

boolean doesFileExist (String deviceFilePath, int userId)

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

boolean doesFileExist (String deviceFilePath)

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

File dumpHeap (String process, String devicePath)

Попытайтесь сделать дамп кучи из system_server.

getActiveApexes ()

Получите информацию об APEX, активированных на устройстве.

getAllSettings (String namespace)

Возвращает пары ключ-значение запрошенного пространства имен.

String getAndroidId (int userId)

Найти и вернуть android-id, связанный с userId, или null, если не найден.

getAndroidIds ()

Создайте карту идентификаторов Android, соответствующих идентификаторам пользователей.

PackageInfo getAppPackageInfo (String packageName)

Получить информацию о пакете, установленном на устройстве.

getAppPackageInfos ()

Получить информацию о пакетах, установленных на устройстве.

InputStreamSource getBugreport ()

Извлекает отчет об ошибке из устройства.

InputStreamSource getBugreportz ()

Извлекает отчет об ошибке с устройства.

DeviceFoldableState getCurrentFoldableState ()

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

int getCurrentUser ()

Возвращает идентификатор текущего работающего пользователя.

getFoldableStates ()

Возвращает список складных состояний устройства.

getInstalledPackageNames ()

Получите имена пакетов приложений, имеющихся на устройстве.

KeyguardControllerState getKeyguardState ()

Возвращает объект для получения текущего состояния блокировки клавиатуры или null, если не поддерживается.

Integer getMainUserId ()

Возвращает основной идентификатор пользователя.

getMainlineModuleInfo ()

Получите информацию об основных модулях, установленных на устройстве.

int getMaxNumberOfRunningUsersSupported ()

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

int getMaxNumberOfUsersSupported ()

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

Integer getPrimaryUserId ()

Возвращает основной идентификатор пользователя.

InputStreamSource getScreenshot (String format, boolean rescale)

Делает снимок экрана с устройства.

InputStreamSource getScreenshot (long displayId)

Делает снимок экрана с устройства с заданным идентификатором дисплея.

InputStreamSource getScreenshot (String format)

Делает снимок экрана с устройства.

InputStreamSource getScreenshot ()

Делает снимок экрана с устройства.

String getSetting (int userId, String namespace, String key)

Верните значение запрошенного параметра.

String getSetting (String namespace, String key)

См. getSetting(int, String, String) и выполняется для системного пользователя.

getUninstallablePackageNames ()

Получите имена пакетов приложений, которые можно удалить.

int getUserFlags (int userId)

Найти и вернуть флаги заданного пользователя.

getUserInfos ()

Получает сопоставление useId с UserInfo на устройстве.

int getUserSerialNumber (int userId)

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

boolean hasFeature (String feature)

Проверьте, доступна ли функция на устройстве.

String installPackage (File packageFile, boolean reinstall, String... extraArgs)

Установите пакет Android на устройство.

String installPackage (File packageFile, File certFile, boolean reinstall, String... extraArgs)

Установите пакет Android на устройство.

String installPackage (File packageFile, boolean reinstall, boolean grantPermissions, String... extraArgs)

Установите пакет Android на устройство.

String installPackageForUser (File packageFile, boolean reinstall, int userId, String... extraArgs)

Установить пакет Android на устройство для указанного пользователя.

String installPackageForUser (File packageFile, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)

Установить пакет Android на устройство для указанного пользователя.

boolean installPackageWithIncrementalMode (File[] apkFiles, String[] extraArgs, String userId)

Устанавливает APK-файлы в инкрементном режиме.

String installPackages ( packageFiles, boolean reinstall, String... extraArgs)

String installPackages ( packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs)

String installPackagesForUser ( packageFiles, boolean reinstall, int userId, String... extraArgs)

String installPackagesForUser ( packageFiles, boolean reinstall, boolean grantPermissions, int userId, String... extraArgs)

String installRemotePackages ( remoteApkPaths, boolean reinstall, String... extraArgs)

String installRemotePackages ( remoteApkPaths, boolean reinstall, boolean grantPermissions, String... extraArgs)

boolean isAppEnumerationSupported ()

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

boolean isHeadlessSystemUserMode ()

Возвращает информацию о том, использует ли устройство режим пользователя без графического интерфейса.

boolean isMainUserPermanentAdmin ()

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

boolean isMultiUserSupported ()

Определяет, поддерживается ли многопользовательский режим.

boolean isPackageInstalled (String packageName, String userId)

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

boolean isPackageInstalled (String packageName)

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

boolean isUserRunning (int userId)

Проверьте, запущен ли данный пользователь.

boolean isUserSecondary (int userId)

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

boolean isUserVisible (int userId)

Проверяет, виден ли указанный пользователь.

boolean isUserVisibleOnDisplay (int userId, int displayId)

Проверяет, виден ли заданный пользователь на заданном дисплее.

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

Возвращает, позволяет ли устройство запускать видимых пользователей в фоновом режиме в ERROR(/java.android.view.Display#DEFAULT_DISPLAY) .

boolean isVisibleBackgroundUsersSupported ()

Возвращает, позволяет ли устройство запускать пользователей в фоновом режиме.

listDisplayIds ()

Соберите список доступных идентификаторов дисплеев на устройстве, как сообщает «dumpsys SurfaceFlinger».

listDisplayIdsForStartingVisibleBackgroundUsers ()

Получает список дисплеев, которые можно использовать для start a user visible in the background .

listUsers ()

Получает список пользователей на устройстве.

boolean logBugreport (String dataName, ITestLogger listener)

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

void notifySnapuserd ( SnapuserdWaitPhase waitPhase)
void postInvocationTearDown (Throwable exception)

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

boolean removeAdmin (String componentName, int userId)

Удалить администратора данного устройства для данного пользователя и вернуть true в случае успешного завершения, в противном случае false .

void removeOwners ()

Удалите всех существующих владельцев профилей устройств, приложив все усилия.

boolean removeUser (int userId)

Удалить указанного пользователя с устройства.

boolean setDeviceOwner (String componentName, int userId)

Установить компонент администратора устройства в качестве владельца устройства для данного пользователя.

void setFirstBootloaderReboot ()
void setSetting (String namespace, String key, String value)

См. setSetting(int, String, String, String) и выполняется для системного пользователя.

void setSetting (int userId, String namespace, String key, String value)

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

void shutdownMicrodroid ( ITestDevice microdroidDevice)

Выключает устройство MicroDroid, если таковое имеется.

boolean startUser (int userId)

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

boolean startUser (int userId, boolean waitFlag)

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

boolean startVisibleBackgroundUser (int userId, int displayId, boolean waitFlag)

Запускает заданного пользователя в фоновом режиме, видимого на заданном дисплее (т.е. позволяя пользователю запускать действия на этом дисплее).

boolean stopUser (int userId)

Останавливает указанного пользователя.

boolean stopUser (int userId, boolean waitFlag, boolean forceFlag)

Остановить указанного пользователя.

boolean supportsMicrodroid ()

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

boolean supportsMicrodroid (boolean protectedVm)

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

boolean switchUser (int userId)

Переключиться на другой идентификатор пользователя с тайм-аутом по умолчанию.

boolean switchUser (int userId, long timeout)

Переключитесь на другой идентификатор пользователя с указанным временем ожидания в качестве крайнего срока.

Bugreport takeBugreport ()

Берет отчет об ошибке и возвращает его внутрь объекта Bugreport для его обработки.

String uninstallPackage (String packageName)

Удалить пакет Android с устройства.

String uninstallPackageForUser (String packageName, int userId)

Удалить пакет Android с устройства определенного пользователя.

void waitForSnapuserd ( SnapuserdWaitPhase currentPhase)

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

AaptParser createParser (File appFile)
void doAdbReboot ( NativeDevice.RebootMode rebootMode, String reason)

Выполните перезагрузку adb.

InputStreamSource getBugreportInternal ()
File getBugreportzInternal ()

Внутренний вспомогательный метод для получения zip-файла bugreportz как ERROR(/File) .

long getCheckNewUserSleep ()

Выставлен для испытаний.

long getHostCurrentTime ()

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

void prePostBootSetup ()

Позволяет каждому типу устройства (AndroidNativeDevice, TestDevice) переопределять этот метод для конкретной настройки после загрузки.

Константы

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

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

Постоянное значение: «input keyevent 82»

Публичные конструкторы

TestDevice

public TestDevice (IDevice device, 
                IDeviceStateMonitor stateMonitor, 
                IDeviceMonitor allocationMonitor)

Публичные методы

canSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

Возвращает информацию о том, разрешено ли переключиться на пользователя SYSTEM без графического интерфейса.

Возврат
boolean

Броски
DeviceNotAvailableException

clearErrorDialogs

public boolean clearErrorDialogs ()

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

Возврат
boolean true если диалоги отсутствуют или диалоги были успешно закрыты. В противном случае false .

Броски
DeviceNotAvailableException

createUser

public int createUser (String name)

Создайте пользователя с заданным именем и флагами по умолчанию 0.

Параметры
name String : пользователя для создания на устройстве

Возврат
int целое число для созданного идентификатора пользователя

Броски
DeviceNotAvailableException

createUser

public int createUser (String name, 
                boolean guest, 
                boolean ephemeral)

Создайте пользователя с заданным именем и предоставленными флагами.

Параметры
name String : пользователя для создания на устройстве

guest boolean : включить пользовательский флаг --guest во время создания

ephemeral boolean : включить пользовательский флаг --ephemeral во время создания

Возврат
int идентификатор созданного пользователя

Броски
DeviceNotAvailableException

createUser

public int createUser (String name, 
                boolean guest, 
                boolean ephemeral, 
                boolean forTesting)

Создайте пользователя с заданным именем и предоставленными флагами.

Параметры
name String : пользователя для создания на устройстве

guest boolean : включить пользовательский флаг --guest во время создания

ephemeral boolean : включить пользовательский флаг --ephemeral во время создания

forTesting boolean : включить тестовый флаг --for-testing во время создания

Возврат
int идентификатор созданного пользователя

Броски
DeviceNotAvailableException

createUserNoThrow

public int createUserNoThrow (String name)

Создайте пользователя с заданным именем и флагами по умолчанию 0.

Параметры
name String : пользователя для создания на устройстве

Возврат
int целое число для созданного идентификатора пользователя или -1 в случае ошибки.

Броски
DeviceNotAvailableException

отключить защиту клавиатуры

public void disableKeyguard ()

Попытки отключить блокировку клавиатуры.

Сначала дождитесь готовности отправки ввода. Это происходит примерно в то же время, когда устройство сообщает BOOT_COMPLETE, по-видимому, асинхронно, поскольку в текущей реализации фреймворка иногда возникают состояния гонки. Затем отправляется команда на отключение защиты клавиатуры (работает только на незащищённых устройствах).

Броски
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath, 
                int userId)

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

Параметры
deviceFilePath String : абсолютный путь к файлу на устройстве для проверки.

userId int : идентификатор пользователя, по которому проверяется существование файла.

Возврат
boolean true если файл существует, в противном случае false .

Броски
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath)

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

Параметры
deviceFilePath String : абсолютный путь к файлу на устройстве для проверки.

Возврат
boolean true если файл существует, в противном случае false .

Броски
DeviceNotAvailableException

dumpHeap

public File dumpHeap (String process, 
                String devicePath)

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

Параметры
process String : имя процесса устройства, на котором будет выполнено дампирование.

devicePath String : путь на устройстве, куда следует сохранить дамп. Это должно быть место, где это разрешено правами доступа.

Возврат
File ERROR(/File) , содержащий отчёт. Значение NULL, если что-то не удалось.

Броски
DeviceNotAvailableException

getActiveApexes

public  getActiveApexes ()

Получите информацию об APEX, активированных на устройстве.

Возврат
ERROR(/Set) ApexInfo , в данный момент активированная на устройстве

Броски
DeviceNotAvailableException

получитьВсеНастройки

public  getAllSettings (String namespace)

Возвращает пары ключ-значение запрошенного пространства имен.

Параметры
namespace String : должна быть одной из {"system", "secure", "global"}

Возврат
Карта пар «ключ-значение». Значение NULL, если пространство имён не поддерживается.

Броски
DeviceNotAvailableException

получитьAndroidId

public String getAndroidId (int userId)

Найти и вернуть android-id, связанный с userId, или null, если не найден.

Параметры
userId int

Возврат
String

Броски
DeviceNotAvailableException

получитьAndroidIds

public  getAndroidIds ()

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

Возврат
Карта идентификаторов Android, найденных совпадающих с идентификаторами пользователей.

Броски
DeviceNotAvailableException

получитьAppPackageInfo

public PackageInfo getAppPackageInfo (String packageName)

Получить информацию о пакете, установленном на устройстве.

Параметры
packageName String

Возврат
PackageInfo PackageInfo или null , если информацию не удалось получить

Броски
DeviceNotAvailableException

получитьAppPackageInfos

public  getAppPackageInfos ()

Получить информацию о пакетах, установленных на устройстве.

Возврат
ERROR(/List) PackageInfo , установленных на устройстве.

Броски
DeviceNotAvailableException

getBugreport

public InputStreamSource getBugreport ()

Извлекает отчет об ошибке из устройства.

Реализация этого гарантированно продолжит работать на устройстве без SD-карты (или где SD-карта еще не смонтирована).

Возврат
InputStreamSource InputStreamSource , который будет по запросу выдавать содержимое отчёта об ошибке. В случае сбоя InputStreamSource вернёт пустой ERROR(/InputStream) .

getBugreportz

public InputStreamSource getBugreportz ()

Извлекает bugreportz с устройства. ZIP-архив bugreport содержит основной bugreport и другие файлы журнала, полезные для отладки.

Поддерживается только для версии adb > 1.0.36

Возврат
InputStreamSource InputStreamSource zip-файла, содержащего bugreportz, возвращает null в случае сбоя.

получитьCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

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

Возврат
DeviceFoldableState

Броски
DeviceNotAvailableException

получить текущего пользователя

public int getCurrentUser ()

Возвращает идентификатор текущего пользователя. В случае ошибки возвращает -10000.

Возврат
int

Броски
DeviceNotAvailableException

получитьFoldableStates

public  getFoldableStates ()

Возвращает список состояний сгиба на устройстве. Можно получить с помощью команды "cmd device_state print-states".

Возврат

Броски
DeviceNotAvailableException

getInstalledPackageNames

public  getInstalledPackageNames ()

Получите имена пакетов приложений, имеющихся на устройстве.

Возврат
ERROR(/Set) имен String пакетов, установленных в данный момент на устройстве.

Броски
DeviceNotAvailableException

получитьKeyguardState

public KeyguardControllerState getKeyguardState ()

Возвращает объект для получения текущего состояния блокировки клавиатуры или null, если не поддерживается.

Возврат
KeyguardControllerState KeyguardControllerState содержащий моментальный снимок состояния Keyguard и возвращающий Null, если запрос Keyguard не поддерживается.

Броски
DeviceNotAvailableException

получитьMainUserId

public Integer getMainUserId ()

Возвращает основной идентификатор пользователя.

Возврат
Integer userId основного пользователя, если он есть, и null, если основного пользователя нет.

Броски
DeviceNotAvailableException

получитьMainlineModuleInfo

public  getMainlineModuleInfo ()

Получите информацию об основных модулях, установленных на устройстве.

Возврат
ERROR(/Set) основных модулей String , установленных в данный момент на устройстве.

Броски
DeviceNotAvailableException

получить максимальное количество работающих пользователей (getMaxNumberOfRunningUsersSupported)

public int getMaxNumberOfRunningUsersSupported ()

Получите максимальное количество поддерживаемых одновременно работающих пользователей. Значение по умолчанию — 0.

Возврат
int целое число, указывающее количество одновременно работающих пользователей

Броски
DeviceNotAvailableException

получитьMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported ()

Получите максимальное количество поддерживаемых пользователей. Значение по умолчанию — 0.

Возврат
int целое число, указывающее количество поддерживаемых пользователей

Броски
DeviceNotAvailableException

получитьPrimaryUserId

public Integer getPrimaryUserId ()

Возвращает основной идентификатор пользователя.

Возврат
Integer userId основного пользователя, если он есть, и null, если основного пользователя нет.

Броски
DeviceNotAvailableException

получить скриншот

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

Делает снимок экрана с устройства. Рекомендуется использовать getScreenshot(String) с кодировкой JPEG для уменьшения размера.

Параметры
format String : поддерживается PNG, JPEG

rescale boolean : если снимок экрана необходимо масштабировать, чтобы уменьшить размер результирующего изображения

Возврат
InputStreamSource InputStreamSource снимка экрана в формате или null , если снимок экрана не был успешным.

Броски
DeviceNotAvailableException

получить скриншот

public InputStreamSource getScreenshot (long displayId)

Делает снимок экрана с устройства с заданным идентификатором дисплея. Формат: PNG.

TODO: расширить реализации выше для поддержки «форматирования» и «масштабирования»

Параметры
displayId long : идентификатор экрана, скриншот которого нужно получить.

Возврат
InputStreamSource InputStreamSource снимка экрана в формате или null , если снимок экрана не был успешным.

Броски
DeviceNotAvailableException

получить скриншот

public InputStreamSource getScreenshot (String format)

Делает снимок экрана с устройства. Рекомендуется использовать getScreenshot(format) вместо этого с кодировкой JPEG для уменьшения размера.

Параметры
format String : поддерживается PNG, JPEG

Возврат
InputStreamSource InputStreamSource снимка экрана в формате или null , если снимок экрана не был успешным.

Броски
DeviceNotAvailableException

получить скриншот

public InputStreamSource getScreenshot ()

Делает снимок экрана с устройства.

Возврат
InputStreamSource InputStreamSource снимка экрана в формате png или null , если снимок экрана не был успешным.

Броски
DeviceNotAvailableException

получитьНастройка

public String getSetting (int userId, 
                String namespace, 
                String key)

Верните значение запрошенного параметра. Пространство имён должно быть одним из: {"system", "secure", "global"}

Параметры
userId int

namespace String

key String

Возврат
String Значение, связанное с пространством имён: ключ пользователя. Значение NULL, если не найдено.

Броски
DeviceNotAvailableException

получитьНастройка

public String getSetting (String namespace, 
                String key)

См. getSetting(int, String, String) и выполняется для системного пользователя.

Параметры
namespace String

key String

Возврат
String

Броски
DeviceNotAvailableException

getUninstallablePackageNames

public  getUninstallablePackageNames ()

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

Возврат
ERROR(/Set) неустановимых имен String пакетов, установленных в данный момент на устройстве.

Броски
DeviceNotAvailableException

получитьUserFlags

public int getUserFlags (int userId)

Найти и вернуть флаги заданного пользователя. Флаги определены в классе android.content.pm.UserInfo в проекте Android Open Source Project.

Параметры
userId int

Возврат
int флаги, связанные с предоставленным идентификатором пользователя, если они найдены, -10000 в любых других случаях.

Броски
DeviceNotAvailableException

получитьUserInfos

public  getUserInfos ()

Получает сопоставление useId с UserInfo на устройстве. Выдаёт исключение DeviceRuntimeException если выходные данные устройства не соответствуют ожидаемым.

Возврат
список объектов UserInfo.

Броски
DeviceNotAvailableException

получитьUserSerialNumber

public int getUserSerialNumber (int userId)

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

Параметры
userId int

Возврат
int

Броски
DeviceNotAvailableException

hasFeature

public boolean hasFeature (String feature)

Проверьте, доступна ли функция на устройстве.

Параметры
feature String : формат должен быть "feature: " или " " напрямую.

Возврат
boolean True, если признак найден, в противном случае — false.

Броски
DeviceNotAvailableException

installPackage

public String installPackage (File packageFile, 
                boolean reinstall, 
                String... extraArgs)

Установите пакет Android на устройство.

Параметры
packageFile File : APK-файл для установки

reinstall boolean : true если необходимо выполнить переустановку

extraArgs String : необязательные дополнительные аргументы для передачи. См. «adb shell pm -h» для получения информации о доступных параметрах.

Возврат
String String с кодом ошибки или null в случае успеха.

Броски
DeviceNotAvailableException

installPackage

public String installPackage (File packageFile, 
                File certFile, 
                boolean reinstall, 
                String... extraArgs)

Установите пакет Android на устройство.

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

Параметры
packageFile File : APK-файл для установки

certFile File : true если необходимо выполнить переустановку.

reinstall boolean : если все разрешения времени выполнения должны быть предоставлены во время установки

extraArgs String : необязательные дополнительные аргументы для передачи. См. «adb shell pm -h» для получения информации о доступных параметрах.

Возврат
String String с кодом ошибки или null в случае успеха.

Броски
DeviceNotAvailableException

installPackage

public String installPackage (File packageFile, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Установите пакет Android на устройство.

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

Параметры
packageFile File : APK-файл для установки

reinstall boolean : true если необходимо выполнить переустановку

grantPermissions boolean : если все разрешения времени выполнения должны быть предоставлены во время установки

extraArgs String : необязательные дополнительные аргументы для передачи. См. «adb shell pm -h» для получения информации о доступных параметрах.

Возврат
String String с кодом ошибки или null в случае успеха.

Броски
DeviceNotAvailableException

installPackageForUser

public String installPackageForUser (File packageFile, 
                boolean reinstall, 
                int userId, 
                String... extraArgs)

Установить пакет Android на устройство для указанного пользователя.

Параметры
packageFile File : APK-файл для установки

reinstall boolean : true если необходимо выполнить переустановку

userId int : целочисленный идентификатор пользователя, для которого выполняется установка.

extraArgs String : необязательные дополнительные аргументы для передачи. См. «adb shell pm -h» для получения информации о доступных параметрах.

Возврат
String String с кодом ошибки или null в случае успеха.

Броски
DeviceNotAvailableException

installPackageForUser

public String installPackageForUser (File packageFile, 
                boolean reinstall, 
                boolean grantPermissions, 
                int userId, 
                String... extraArgs)

Установить пакет Android на устройство для указанного пользователя.

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

Параметры
packageFile File : APK-файл для установки

reinstall boolean : true если необходимо выполнить переустановку

grantPermissions boolean : если все разрешения времени выполнения должны быть предоставлены во время установки

userId int : целочисленный идентификатор пользователя, для которого выполняется установка.

extraArgs String : необязательные дополнительные аргументы для передачи. См. «adb shell pm -h» для получения информации о доступных параметрах.

Возврат
String String с кодом ошибки или null в случае успеха.

Броски
DeviceNotAvailableException

installPackageWithIncrementalMode

public boolean installPackageWithIncrementalMode (File[] apkFiles, 
                String[] extraArgs, 
                String userId)

Устанавливает APK-файлы в инкрементном режиме.

Параметры
apkFiles File : файлы APK для установки.

extraArgs String

userId String

Возврат
boolean

Броски
DeviceNotAvailableException

installPackages

public String installPackages ( packageFiles, 
                boolean reinstall, 
                String... extraArgs)

Параметры
packageFiles

reinstall boolean

extraArgs String

Возврат
String

Броски
DeviceNotAvailableException

installPackages

public String installPackages ( packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Параметры
packageFiles

reinstall boolean

grantPermissions boolean

extraArgs String

Возврат
String

Броски
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser ( packageFiles, 
                boolean reinstall, 
                int userId, 
                String... extraArgs)

Параметры
packageFiles

reinstall boolean

userId int

extraArgs String

Возврат
String

Броски
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser ( packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                int userId, 
                String... extraArgs)

Параметры
packageFiles

reinstall boolean

grantPermissions boolean

userId int

extraArgs String

Возврат
String

Броски
DeviceNotAvailableException

installRemotePackages

public String installRemotePackages ( remoteApkPaths, 
                boolean reinstall, 
                String... extraArgs)

Параметры
remoteApkPaths

reinstall boolean

extraArgs String

Возврат
String

Броски
DeviceNotAvailableException

installRemotePackages

public String installRemotePackages ( remoteApkPaths, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Параметры
remoteApkPaths

reinstall boolean

grantPermissions boolean

extraArgs String

Возврат
String

Броски
DeviceNotAvailableException

isAppEnumerationSupported

public boolean isAppEnumerationSupported ()

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

Возврат
boolean True, если поддерживается перечисление приложений, в противном случае false

Броски
DeviceNotAvailableException

isHeadlessSystemUserMode

public boolean isHeadlessSystemUserMode ()

Возвращает информацию о том, использует ли устройство режим пользователя без графического интерфейса.

Возврат
boolean

Броски
DeviceNotAvailableException

isMainUserPermanentAdmin

public boolean isMainUserPermanentAdmin ()

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

Возврат
boolean

Броски
DeviceNotAvailableException

isMultiUserSupported

public boolean isMultiUserSupported ()

Определяет, поддерживается ли многопользовательский режим.

Возврат
boolean true, если поддерживается многопользовательский режим, в противном случае false

Броски
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName, 
                String userId)

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

Параметры
packageName String : пакет, установлен ли он, проверяем.

userId String : идентификатор пользователя, для которого установлен проверяемый пакет. Если значение равно null, будет использоваться основной пользователь 0.

Возврат
boolean True, если пакет установлен. В противном случае — False.

Броски
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName)

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

Параметры
packageName String

Возврат
boolean True, если пакет установлен. В противном случае — False.

Броски
DeviceNotAvailableException

isUserRunning

public boolean isUserRunning (int userId)

Проверьте, запущен ли данный пользователь.

Параметры
userId int

Возврат
boolean True, если пользователь работает, false во всех остальных случаях.

Броски
DeviceNotAvailableException

isUserSecondary

public boolean isUserSecondary (int userId)

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

Параметры
userId int

Возврат
boolean true, если пользователь является вторичным, в противном случае false.

Броски
DeviceNotAvailableException

isUserVisible

public boolean isUserVisible (int userId)

Проверяет, виден ли указанный пользователь.

«Видимый» пользователь — это пользователь, который взаимодействует с «человеческим» пользователем и, следовательно, может запускать действия по запуску (обычно на дисплее по умолчанию).

Параметры
userId int

Возврат
boolean

Броски
DeviceNotAvailableException

isUserVisibleOnDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

Проверяет, виден ли заданный пользователь на заданном дисплее.

«Видимый» пользователь — это пользователь, который взаимодействует с «человеческим» пользователем и, следовательно, может запускать действия по запуску на этом дисплее.

Параметры
userId int

displayId int

Возврат
boolean

Броски
DeviceNotAvailableException

isVisibleBackgroundUsersOnDefaultDisplaySupported

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

Возвращает, позволяет ли устройство запускать видимых пользователей в фоновом режиме в ERROR(/java.android.view.Display#DEFAULT_DISPLAY) .

Если это так, вы можете вызвать startVisibleBackgroundUser(int, int, boolean) , передав отображение, возвращаемое listDisplayIdsForStartingVisibleBackgroundUsers() (которое должно включать ERROR(/java.android.view.Display#DEFAULT_DISPLAY) ).

Возврат
boolean

Броски
DeviceNotAvailableException

isVisibleBackgroundUsersSupported

public boolean isVisibleBackgroundUsersSupported ()

Возвращает, позволяет ли устройство запускать пользователей в фоновом режиме.

Если это так, вы можете вызвать startVisibleBackgroundUser(int, int, boolean) , передав отображение, возвращаемое listDisplayIdsForStartingVisibleBackgroundUsers() .

Возврат
boolean

Броски
DeviceNotAvailableException

listDisplayIds

public  listDisplayIds ()

Соберите список доступных идентификаторов дисплеев на устройстве, как сообщает «dumpsys SurfaceFlinger».

Возврат
Список дисплеев. Default всегда возвращает дисплей по умолчанию 0.

Броски
DeviceNotAvailableException

списокDisplayIdsForStartingVisibleBackgroundUsers

public  listDisplayIdsForStartingVisibleBackgroundUsers ()

Получает список дисплеев, которые можно использовать для start a user visible in the background .

Возврат

Броски
DeviceNotAvailableException

списокПользователи

public  listUsers ()

Получает список пользователей на устройстве. Выдаёт исключение DeviceRuntimeException , если выходные данные устройства не соответствуют ожидаемым.

Возврат
список идентификаторов пользователей.

Броски
DeviceNotAvailableException

logBugreport

public boolean logBugreport (String dataName, 
                ITestLogger listener)

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

Параметры
dataName String : имя, под которым будет отправлен отчет об ошибке.

listener ITestLogger : ITestLogger для регистрации отчета об ошибке.

Возврат
boolean True, если регистрация прошла успешно, в противном случае — false.

уведомитьSnapuserd

public void notifySnapuserd (SnapuserdWaitPhase waitPhase)

Параметры
waitPhase SnapuserdWaitPhase

postInvocationTearDown

public void postInvocationTearDown (Throwable exception)

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

Параметры
exception Throwable : если есть, последнее исключение, вызванное ошибкой вызова.

удалитьАдминистратора

public boolean removeAdmin (String componentName, 
                int userId)

Удалить администратора данного устройства для данного пользователя и вернуть true в случае успешного завершения, в противном случае false .

Параметры
componentName String : администратора устройства, подлежащего удалению.

userId int : пользователя, под которым находится администратор устройства.

Возврат
boolean True, если успешно, в противном случае — false.

Броски
DeviceNotAvailableException

removeOwners

public void removeOwners ()

Удалите всех существующих владельцев профилей устройств, приложив все усилия.

Броски
DeviceNotAvailableException

удалить пользователя

public boolean removeUser (int userId)

Удалить указанного пользователя с устройства.

Параметры
userId int : пользователя, которого нужно удалить

Возврат
boolean true, если нам удалось удалить пользователя, в противном случае false.

Броски
DeviceNotAvailableException

setDeviceOwner

public boolean setDeviceOwner (String componentName, 
                int userId)

Установить компонент администратора устройства в качестве владельца устройства для данного пользователя.

Параметры
componentName String : администратора устройства, который будет владельцем устройства.

userId int : пользователя, в котором проживает владелец устройства.

Возврат
boolean True, если успешно, в противном случае — false.

Броски
DeviceNotAvailableException

setFirstBootloaderReboot

public void setFirstBootloaderReboot ()

setSetting

public void setSetting (String namespace, 
                String key, 
                String value)

См. setSetting(int, String, String, String) и выполняется для системного пользователя.

Параметры
namespace String

key String

value String

Броски
DeviceNotAvailableException

setSetting

public void setSetting (int userId, 
                String namespace, 
                String key, 
                String value)

Добавьте значение параметра в пространство имён указанного пользователя. Некоторые параметры будут доступны только после перезагрузки. Пространство имён должно быть одним из: {"system", "secure", "global"}

Параметры
userId int

namespace String

key String

value String

Броски
DeviceNotAvailableException

выключениеMicrodroid

public void shutdownMicrodroid (ITestDevice microdroidDevice)

Выключает устройство MicroDroid, если таковое имеется.

Параметры
microdroidDevice ITestDevice

Броски
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

startUser

public boolean startUser (int userId)

Запускает заданный пользователь в фоновом режиме, если он в данный момент остановлен. Если пользователь уже работает в фоновом режиме, этот метод не работает.

Параметры
userId int : пользователя для запуска в фоновом режиме

Возврат
boolean true, если пользователь был успешно запущен в фоновом режиме.

Броски
DeviceNotAvailableException

startUser

public boolean startUser (int userId, 
                boolean waitFlag)

Запускает заданный пользователь в фоновом режиме, если он в данный момент остановлен. Если пользователь уже работает в фоновом режиме, этот метод не работает. Можно указать дополнительный флаг для ожидания выполнения операции.

Параметры
userId int : пользователя для запуска в фоновом режиме

waitFlag boolean : заставит команду ждать, пока пользователь не будет запущен и разблокирован.

Возврат
boolean true, если пользователь был успешно запущен в фоновом режиме.

Броски
DeviceNotAvailableException

startVisibleBackgroundUser

public boolean startVisibleBackgroundUser (int userId, 
                int displayId, 
                boolean waitFlag)

Запускает заданного пользователя в фоновом режиме, видимого на заданном дисплее (т.е. позволяя пользователю запускать действия на этом дисплее).

ПРИМЕЧАНИЕ: эта команда не проверяет, существует ли пользователь, доступен ли дисплей, device supports such feature и т. д.

Параметры
userId int : пользователя для запуска в фоновом режиме

displayId int : отображать, чтобы начать отображение пользователя

waitFlag boolean : заставит команду ждать, пока пользователь не будет запущен и разблокирован.

Возврат
boolean true если пользователь был успешно запущен и виден в фоновом режиме.

Броски
DeviceNotAvailableException

stopUser

public boolean stopUser (int userId)

Останавливает указанного пользователя. Если пользователь уже остановлен, этот метод недействителен. Невозможно остановить текущего и системного пользователя.

Параметры
userId int : пользователя, которого нужно остановить.

Возврат
boolean true, если пользователь был успешно остановлен.

Броски
DeviceNotAvailableException

stopUser

public boolean stopUser (int userId, 
                boolean waitFlag, 
                boolean forceFlag)

Остановить заданного пользователя. Можно добавить дополнительные флаги для ожидания выполнения операции и принудительного завершения пользователя. Невозможно остановить текущего и системного пользователя.

Параметры
userId int : пользователя, которого нужно остановить.

waitFlag boolean : заставит команду ждать, пока пользователь не остановится.

forceFlag boolean : принудительно остановит пользователя.

Возврат
boolean true, если пользователь был успешно остановлен.

Броски
DeviceNotAvailableException

поддерживаетMicrodroid

public boolean supportsMicrodroid ()

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

Возврат
boolean возвращает true, если предварительные условия выполнены, в противном случае — false.

поддерживаетMicrodroid

public boolean supportsMicrodroid (boolean protectedVm)

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

Параметры
protectedVm boolean : true, если microdroid предназначен для работы на защищенной виртуальной машине.

Возврат
boolean возвращает true, если предварительные условия выполнены, в противном случае — false.

switchUser

public boolean switchUser (int userId)

Переключиться на другой идентификатор пользователя с тайм-аутом по умолчанию. switchUser(int, long) .

Параметры
userId int

Возврат
boolean True, если новый идентификатор пользователя соответствует идентификатору поставщика. В противном случае — False.

Броски
DeviceNotAvailableException

switchUser

public boolean switchUser (int userId, 
                long timeout)

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

Параметры
userId int

timeout long : ожидание перед возвратом false для switch-user failed.

Возврат
boolean True, если новый идентификатор пользователя соответствует идентификатору поставщика. В противном случае — False.

Броски
DeviceNotAvailableException

takeBugreport

public Bugreport takeBugreport ()

Принимает отчёт об ошибке и возвращает его в объект Bugreport для обработки. В случае возникновения проблемы возвращает null. Файл, на который ссылается объект Bugreport, необходимо очистить с помощью Bugreport.close() .

Возврат
Bugreport

uninstallPackage

public String uninstallPackage (String packageName)

Удалить пакет Android с устройства.

Параметры
packageName String : пакет Android, который нужно удалить

Возврат
String String с кодом ошибки или null в случае успеха.

Броски
DeviceNotAvailableException

uninstallPackageForUser

public String uninstallPackageForUser (String packageName, 
                int userId)

Удалить пакет Android с устройства определенного пользователя.

Параметры
packageName String : пакет Android, который нужно удалить

userId int : целочисленный идентификатор пользователя, для которого необходимо выполнить деинсталляцию.

Возврат
String String с кодом ошибки или null в случае успеха.

Броски
DeviceNotAvailableException

waitForSnapuserd

public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)

Параметры
currentPhase SnapuserdWaitPhase

Броски
DeviceNotAvailableException

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

createParser

protected AaptParser createParser (File appFile)

Параметры
appFile File

Возврат
AaptParser

doAdbReboot

protected void doAdbReboot (NativeDevice.RebootMode rebootMode, 
                String reason)

Выполните перезагрузку adb.

Параметры
rebootMode NativeDevice.RebootMode : режим перезагрузки.

reason String : для этой перезагрузки.

Броски
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getBugreportInternal

protected InputStreamSource getBugreportInternal ()

Возврат
InputStreamSource

getBugreportzInternal

protected File getBugreportzInternal ()

Внутренний вспомогательный метод для получения zip-файла bugreportz как ERROR(/File) .

Возврат
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

Выставлен для испытаний.

Возврат
long

получитьHostCurrentTime

protected long getHostCurrentTime ()

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

Возврат
long

prePostBootSetup

protected void prePostBootSetup ()

Позволяет каждому типу устройства (AndroidNativeDevice, TestDevice) переопределять этот метод для конкретной настройки после загрузки.

Броски
DeviceNotAvailableException