Тестовое устройство

public class TestDevice
extends NativeDevice

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


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

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

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

class TestDevice.MicrodroidBuilder

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

Константы

String DISMISS_KEYGUARD_CMD

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

Государственные строители

TestDevice ( IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

Общедоступные методы

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

Установите пакет Android на устройство с помощью команды adb.

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

Установите пакет Android на устройство с помощью команды adb.

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.

Set< ITestDevice.ApexInfo > getActiveApexes ()

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

Map<String, String> getAllSettings (String namespace)

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

String getAndroidId (int userId)

Найдите и верните идентификатор Android, связанный с идентификатором пользователя (userId), в противном случае — значение null.

Map<Integer, String> getAndroidIds ()

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

PackageInfo getAppPackageInfo (String packageName)

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

List< PackageInfo > getAppPackageInfos ()

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

InputStreamSource getBugreport ()

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

InputStreamSource getBugreportz ()

Получает отчет об ошибке (ugreportz) с устройства.

DeviceFoldableState getCurrentFoldableState ()

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

int getCurrentUser ()

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

Set< DeviceFoldableState > getFoldableStates ()

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

Set<String> getInstalledPackageNames ()

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

KeyguardControllerState getKeyguardState ()

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

Integer getMainUserId ()

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

Set<String> getMainlineModuleInfo ()

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

int getMaxNumberOfRunningUsersSupported ()

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

int getMaxNumberOfUsersSupported (String userType)

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

int getMaxNumberOfUsersSupported ()

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

Integer getPrimaryUserId ()

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

int getRemainingCreatableUserCount (String userType)

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

InputStreamSource getScreenshot (Long displayId, String format, boolean rescale)

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

InputStreamSource getScreenshot (String format, boolean rescale)

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

InputStreamSource getScreenshot (String format)

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

InputStreamSource getScreenshot (long displayId)

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

InputStreamSource getScreenshot ()

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

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

Возвращает значение запрошенной настройки.

String getSetting (String namespace, String key)

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

Set<String> getUninstallablePackageNames ()

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

int getUserFlags (int userId)

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

Map<Integer, UserInfo > getUserInfos ()

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

int getUserSerialNumber (int userId)

Возвращает серийный номер, связанный с userId, если он найден, -10000 в остальных случаях.

int getUserVisibleOnDisplay (int displayId)

Получает идентификатор пользователя, видимого на заданном экране.

boolean hasFeature (String feature)

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

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

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

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

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

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

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

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

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

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

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

String installPackages (List<File> packageFiles, boolean reinstall, String... extraArgs)

String installPackages (List<File> packageFiles, boolean reinstall, boolean grantPermissions, String... extraArgs)

String installPackagesForUser (List<File> packageFiles, boolean reinstall, int userId, String... extraArgs)

String installPackagesForUser (List<File> packageFiles, boolean reinstall, boolean grantPermissions, int userId, 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 ()

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

Set<Long> listDisplayIds ()

Получите список идентификаторов доступных дисплеев на устройстве, предоставленный программой "dumpsys SurfaceFlinger".

Set<Integer> listDisplayIdsForStartingVisibleBackgroundUsers ()

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

ArrayList<Integer> 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 reboot.

InputStreamSource getBugreportInternal ()
File getBugreportzInternal ()

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

long getCheckNewUserSleep ()

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

long getHostCurrentTime ()

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

void prePostBootSetup ()

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

Константы

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

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

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

Государственные строители

Тестовое устройство

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

Общедоступные методы

adbInstallPackage

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

Установите пакет Android на устройство с помощью команды adb.

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

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

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

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

Броски
DeviceNotAvailableException

adbInstallPackage

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

Установите пакет Android на устройство с помощью команды adb.

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

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

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

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

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

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

Броски
DeviceNotAvailableException

canSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

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

Возвраты
boolean

Броски
DeviceNotAvailableException

clearErrorDialogs

public boolean clearErrorDialogs ()

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

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

Броски
DeviceNotAvailableException

создать пользователя

public int createUser (String name)

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

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

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

Броски
DeviceNotAvailableException
IllegalStateException

создать пользователя

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

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

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

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

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

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

Броски
DeviceNotAvailableException
IllegalStateException

создать пользователя

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
IllegalStateException

createUserNoThrow

public int createUserNoThrow (String name)

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

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

Возвраты
int Целочисленное значение, обозначающее созданный идентификатор пользователя, или -1 в случае ошибки.

Броски
DeviceNotAvailableException

disableKeyguard

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 File , содержащий отчёт. Значение null, если что-то пошло не так.

Броски
DeviceNotAvailableException

getActiveApexes

public Set<ITestDevice.ApexInfo> getActiveApexes ()

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

Возвраты
Set< ITestDevice.ApexInfo > На устройстве активирован Set функций ApexInfo .

Броски
DeviceNotAvailableException

getAllSettings

public Map<String, String> getAllSettings (String namespace)

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

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

Возвраты
Map<String, String> Карта пар ключ-значение. Значение равно null, если пространство имен не поддерживается.

Броски
DeviceNotAvailableException

getAndroidId

public String getAndroidId (int userId)

Найдите и верните идентификатор Android, связанный с идентификатором пользователя (userId), в противном случае — значение null.

Параметры
userId int

Возвраты
String

Броски
DeviceNotAvailableException

getAndroidIds

public Map<Integer, String> getAndroidIds ()

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

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

Броски
DeviceNotAvailableException

getAppPackageInfo

public PackageInfo getAppPackageInfo (String packageName)

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

Параметры
packageName String

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

Броски
DeviceNotAvailableException

getAppPackageInfos

public List<PackageInfo> getAppPackageInfos ()

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

Возвраты
List< PackageInfo > List пакетов PackageInfo , установленных на устройстве.

Броски
DeviceNotAvailableException

getBugreport

public InputStreamSource getBugreport ()

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

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

Возвраты
InputStreamSource Объект InputStreamSource , который будет генерировать содержимое отчета об ошибке по запросу. В случае сбоя InputStreamSource создаст пустой InputStream .

getBugreportz

public InputStreamSource getBugreportz ()

Получает файл bugreportz с устройства. Файл bugreport в формате ZIP содержит основной отчет об ошибке и другие файлы журналов, полезные для отладки.

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

Возвраты
InputStreamSource InputStreamSource это объект, содержащий zip-файл с отчетом об ошибке; в случае сбоя возвращает null.

getCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

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

Возвраты
DeviceFoldableState

Броски
DeviceNotAvailableException

getCurrentUser

public int getCurrentUser ()

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

Возвраты
int

Броски
DeviceNotAvailableException

getFoldableStates

public Set<DeviceFoldableState> getFoldableStates ()

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

Возвраты
Set< DeviceFoldableState >

Броски
DeviceNotAvailableException

getInstalledPackageNames

public Set<String> getInstalledPackageNames ()

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

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

Броски
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

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

Возвраты
KeyguardControllerState Объект KeyguardControllerState содержит снимок состояния блокировки клавиатуры и возвращает Null, если запрос Keyguard не поддерживается.

Броски
DeviceNotAvailableException

getMainUserId

public Integer getMainUserId ()

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

Возвраты
Integer Идентификатор пользователя (userId) основного пользователя, если он есть, и null, если основного пользователя нет.

Броски
DeviceNotAvailableException

getMainlineModuleInfo

public Set<String> getMainlineModuleInfo ()

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

Возвраты
Set<String> Set основных модулей String , установленных в данный момент на устройстве.

Броски
DeviceNotAvailableException

getMaxNumberOfRunningUsersSupported

public int getMaxNumberOfRunningUsersSupported ()

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

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

Броски
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported (String userType)

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

Параметры
userType String : тип пользователя, определенный в UserManager, например, "android.os.usertype.full.SECONDARY".

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

Броски
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported ()

Укажите максимальное количество поддерживаемых переключаемых пользователей, не включая гостей. После версии API 36 это количество не включает пользователей, не подлежащих переключению (например, профили). По умолчанию — 0.

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

Броски
DeviceNotAvailableException

getPrimaryUserId

public Integer getPrimaryUserId ()

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

Возвраты
Integer Идентификатор пользователя (userId) основного пользователя, если таковой имеется, и null, если основного пользователя нет.

Броски
DeviceNotAvailableException

getRemainingCreatableUserCount

public int getRemainingCreatableUserCount (String userType)

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

Параметры
userType String : тип пользователя, определенный в UserManager, например, "android.os.usertype.full.SECONDARY".

Возвраты
int Сколько пользователей данного типа можно добавить?

Броски
DeviceNotAvailableException

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

public InputStreamSource getScreenshot (Long displayId, 
                String format, 
                boolean rescale)

Делает снимок экрана с устройства с заданным идентификатором дисплея в поддерживаемом формате. Разрешается масштабирование для поддержки меньших размеров.

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

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

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

Возвраты
InputStreamSource InputStreamSource содержащий изображение скриншота в заданном формате, или 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 (String format)

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

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

Возвраты
InputStreamSource InputStreamSource содержащий изображение скриншота в заданном формате, или null если создание скриншота не удалось.

Броски
DeviceNotAvailableException

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

public InputStreamSource getScreenshot (long displayId)

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

TODO: расширить приведенные выше реализации для поддержки функций 'format' и 'rescale'.

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

Возвраты
InputStreamSource InputStreamSource содержащий изображение скриншота в заданном формате, или null если создание скриншота не удалось.

Броски
DeviceNotAvailableException

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

public InputStreamSource getScreenshot ()

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

Возвраты
InputStreamSource InputStreamSource это объект, содержащий скриншот в формате PNG, или null если создание скриншота не удалось.

Броски
DeviceNotAvailableException

getSetting

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

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

Параметры
userId int

namespace String

key String

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

Броски
DeviceNotAvailableException

getSetting

public String getSetting (String namespace, 
                String key)

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

Параметры
namespace String

key String

Возвраты
String

Броски
DeviceNotAvailableException

getUninstallablePackageNames

public Set<String> getUninstallablePackageNames ()

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

Возвраты
Set<String> Set String названий пакетов, которые в данный момент установлены на устройстве и которые нельзя удалить.

Броски
DeviceNotAvailableException

getUserFlags

public int getUserFlags (int userId)

Находит и возвращает флаги заданного пользователя. Флаги определены в классе "android.content.pm.UserInfo" в проекте Android с открытым исходным кодом.

Параметры
userId int

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

Броски
DeviceNotAvailableException

getUserInfos

public Map<Integer, UserInfo> getUserInfos ()

Получает карту соответствия useId и UserInfo на устройстве. Если выходные данные с устройства не соответствуют ожиданиям, будет выброшено исключение DeviceRuntimeException .

Возвраты
Map<Integer, UserInfo > список объектов UserInfo.

Броски
DeviceNotAvailableException

getUserSerialNumber

public int getUserSerialNumber (int userId)

Возвращает серийный номер, связанный с userId, если он найден, -10000 в остальных случаях.

Параметры
userId int

Возвраты
int

Броски
DeviceNotAvailableException

getUserVisibleOnDisplay

public int getUserVisibleOnDisplay (int displayId)

Получает идентификатор пользователя, видимого на заданном экране.

Параметры
displayId int : идентификатор дисплея.

Возвраты
int Идентификатор пользователя, видимого на данном экране. Он не различает видимого фонового пользователя от текущего активного пользователя, поскольку оба типа являются видимыми. Для дальнейшего различения сравните результат с результатом функции getCurrentUser().

Броски
DeviceNotAvailableException

имеетФункцию

public boolean hasFeature (String feature)

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

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

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

Броски
DeviceNotAvailableException

установить пакет

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

установить пакет

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

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

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

installPackageWithIncrementalMode

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

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

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

extraArgs String

userId String

Возвраты
boolean

Броски
DeviceNotAvailableException

установить пакеты

public String installPackages (List<File> packageFiles, 
                boolean reinstall, 
                String... extraArgs)

Параметры
packageFiles List

reinstall boolean

extraArgs String

Возвраты
String

Броски
DeviceNotAvailableException

установить пакеты

public String installPackages (List<File> packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                String... extraArgs)

Параметры
packageFiles List

reinstall boolean

grantPermissions boolean

extraArgs String

Возвраты
String

Броски
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser (List<File> packageFiles, 
                boolean reinstall, 
                int userId, 
                String... extraArgs)

Параметры
packageFiles List

reinstall boolean

userId int

extraArgs String

Возвраты
String

Броски
DeviceNotAvailableException

installPackagesForUser

public String installPackagesForUser (List<File> packageFiles, 
                boolean reinstall, 
                boolean grantPermissions, 
                int userId, 
                String... extraArgs)

Параметры
packageFiles List

reinstall boolean

grantPermissions boolean

userId int

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 ()

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

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

Это также проверяет параметр config_enableMultiUserUI. По требованию мы можем предположить, что устройства, для которых этот параметр выполняется, настроены на добавление дополнительных пользователей через adb.

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

Броски
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName, 
                String userId)

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

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

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

Возвраты
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) , передав в качестве параметра display объект, возвращаемый методом listDisplayIdsForStartingVisibleBackgroundUsers() (который должен содержать ERROR(/java.android.view.Display#DEFAULT_DISPLAY) ).

Возвраты
boolean

Броски
DeviceNotAvailableException

isVisibleBackgroundUsersSupported

public boolean isVisibleBackgroundUsersSupported ()

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

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

Возвраты
boolean

Броски
DeviceNotAvailableException

listDisplayIds

public Set<Long> listDisplayIds ()

Получите список идентификаторов доступных дисплеев на устройстве, предоставленный программой "dumpsys SurfaceFlinger".

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

Броски
DeviceNotAvailableException

listDisplayIdsForStartingVisibleBackgroundUsers

public Set<Integer> listDisplayIdsForStartingVisibleBackgroundUsers ()

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

Возвраты
Set<Integer>

Броски
DeviceNotAvailableException

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

public ArrayList<Integer> listUsers ()

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

Возвраты
ArrayList<Integer> список идентификаторов пользователей.

Броски
DeviceNotAvailableException

logBugreport

public boolean logBugreport (String dataName, 
                ITestLogger listener)

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

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

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

Возвраты
boolean Истина, если регистрация данных прошла успешно, ложь в противном случае.

notifySnapuserd

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 Верно, если операция успешна, неверно в противном случае.

Броски
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 Верно, если операция успешна, неверно в противном случае.

Броски
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

shutdownMicrodroid

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

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

public boolean supportsMicrodroid ()

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

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

Броски
Exception

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

public boolean supportsMicrodroid (boolean protectedVm)

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

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

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

Броски
DeviceNotAvailableException

switchUser

public boolean switchUser (int userId)

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

Параметры
userId int

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

Броски
DeviceNotAvailableException

switchUser

public boolean switchUser (int userId, 
                long timeout)

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

Параметры
userId int

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

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

Броски
DeviceNotAvailableException

takeBugreport

public Bugreport takeBugreport ()

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

Возвраты
Bugreport

удалить пакет

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 reboot.

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

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

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

getBugreportInternal

protected InputStreamSource getBugreportInternal ()

Возвраты
InputStreamSource

getBugreportzInternal

protected File getBugreportzInternal ()

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

Возвраты
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

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

Возвраты
long

getHostCurrentTime

protected long getHostCurrentTime ()

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

Возвраты
long

prePostBootSetup

protected void prePostBootSetup ()

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

Броски
DeviceNotAvailableException