Вложенные классы |
|---|
class | TestDevice.MicrodroidBuilder Конструктор, используемый для создания тестового устройства Microdroid. |
Константы |
|---|
String | DISMISS_KEYGUARD_CMD Команды, которые можно использовать для закрытия окна блокировки клавиатуры. |
Общедоступные методы |
|---|
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) |
Константы
DISMISS_KEYGUARD_CMD
public static final String DISMISS_KEYGUARD_CMD
Команды, которые можно использовать для закрытия окна блокировки клавиатуры.
Постоянное значение: "input keyevent 82"
Государственные строители
Общедоступные методы
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 в случае успеха. |
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 в случае успеха. |
canSwitchToHeadlessSystemUser
public boolean canSwitchToHeadlessSystemUser ()
Возвращает значение, указывающее, разрешено ли переключение на пользователя SYSTEM без графического интерфейса.
clearErrorDialogs
public boolean clearErrorDialogs ()
Попробуйте закрыть все диалоговые окна с ошибками, отображаемые в данный момент в пользовательском интерфейсе устройства.
| Возвраты |
|---|
boolean | true , если диалоговые окна отсутствуют или успешно очищены. В противном случае false . |
создать пользователя
public int createUser (String name)
Создайте пользователя с заданным именем и флагами по умолчанию, равными 0.
| Параметры |
|---|
name | String : имя пользователя, которое нужно создать на устройстве. |
| Возвраты |
|---|
int | целое число, обозначающее созданный идентификатор пользователя |
создать пользователя
public int createUser (String name,
boolean guest,
boolean ephemeral) Создайте пользователя с заданным именем и указанными флагами.
| Параметры |
|---|
name | String : имя пользователя, которое нужно создать на устройстве. |
guest | boolean : включить флаг пользователя --guest при создании |
ephemeral | boolean : включить пользовательский флаг --ephemeral при создании |
| Возвраты |
|---|
int | идентификатор созданного пользователя |
создать пользователя
public int createUser (String name,
boolean guest,
boolean ephemeral,
boolean forTesting) Создайте пользователя с заданным именем и указанными флагами.
| Параметры |
|---|
name | String : имя пользователя, которое нужно создать на устройстве. |
guest | boolean : включить флаг пользователя --guest при создании |
ephemeral | boolean : включить пользовательский флаг --ephemeral при создании |
forTesting | boolean : включить флаг тестирования --for-testing во время создания |
| Возвраты |
|---|
int | идентификатор созданного пользователя |
createUserNoThrow
public int createUserNoThrow (String name)
Создайте пользователя с заданным именем и флагами по умолчанию, равными 0.
| Параметры |
|---|
name | String : имя пользователя, которое нужно создать на устройстве. |
| Возвраты |
|---|
int | Целочисленное значение, обозначающее созданный идентификатор пользователя, или -1 в случае ошибки. |
disableKeyguard
public void disableKeyguard ()
Попытки отключить блокировку клавиатуры.
Сначала дождитесь готовности обработки ввода, это происходит примерно в то же время, когда устройство сообщает о завершении загрузки (BOOT_COMPLETE), по-видимому, асинхронно, поскольку в текущей реализации фреймворка иногда возникают состояния гонки. Затем отправляется команда на закрытие блокировки экрана (работает только с небезопасными блокировками).
doesFileExist
public boolean doesFileExist (String deviceFilePath,
int userId)Вспомогательный метод для определения наличия файла на устройстве для данного пользователя.
| Параметры |
|---|
deviceFilePath | String : абсолютный путь к файлу на устройстве для проверки. |
userId | int : Идентификатор пользователя, по которому проверяется существование файла. |
| Возвраты |
|---|
boolean | true если файл существует, false в противном случае. |
doesFileExist
public boolean doesFileExist (String deviceFilePath)
Вспомогательный метод для определения наличия файла на устройстве.
| Параметры |
|---|
deviceFilePath | String : абсолютный путь к файлу на устройстве для проверки. |
| Возвраты |
|---|
boolean | true если файл существует, false в противном случае. |
dumpHeap
public File dumpHeap (String process,
String devicePath)Попытайтесь выгрузить содержимое кучи с сервера system_server. Ответственность за очистку выгруженного файла лежит на вызывающей стороне.
| Параметры |
|---|
process | String : имя процесса устройства, на котором будет производиться дамп кучи. |
devicePath | String : путь на устройстве, куда следует сохранить дамп. Это должно быть место, доступное по правам доступа. |
| Возвраты |
|---|
File | File , содержащий отчёт. Значение null, если что-то пошло не так. |
getActiveApexes
public Set<ITestDevice.ApexInfo> getActiveApexes ()
Получите информацию об активированных на устройстве APEX-серверах.
getAllSettings
public Map<String, String> getAllSettings (String namespace)
Возвращает пары ключ-значение запрошенного пространства имен.
| Параметры |
|---|
namespace | String : должна быть одной из {"system", "secure", "global"} |
| Возвраты |
|---|
Map<String, String> | Карта пар ключ-значение. Значение равно null, если пространство имен не поддерживается. |
getAndroidId
public String getAndroidId (int userId)
Найдите и верните идентификатор Android, связанный с идентификатором пользователя (userId), в противном случае — значение null.
getAndroidIds
public Map<Integer, String> getAndroidIds ()
Создайте карту найденных идентификаторов Android, соответствующих идентификаторам пользователей. Нет гарантии, что для каждого идентификатора пользователя будет найден связанный с этой функцией идентификатор Android, поэтому некоторые идентификаторы пользователей могут соответствовать значению null.
| Возвраты |
|---|
Map<Integer, String> | Карта найденных идентификаторов Android, соответствующих идентификаторам пользователей. |
getAppPackageInfo
public PackageInfo getAppPackageInfo (String packageName)
Получить информацию об установленном на устройстве пакете.
| Параметры |
|---|
packageName | String |
getAppPackageInfos
public List<PackageInfo> getAppPackageInfos ()
Получить информацию об установленных на устройстве пакетах.
getBugreport
public InputStreamSource getBugreport ()
Получает отчет об ошибке с устройства.
Гарантируется, что данная реализация будет продолжать работать на устройстве без SD-карты (или где SD-карта еще не смонтирована).
getBugreportz
public InputStreamSource getBugreportz ()
Получает файл bugreportz с устройства. Файл bugreport в формате ZIP содержит основной отчет об ошибке и другие файлы журналов, полезные для отладки.
Поддерживается только для версий adb > 1.0.36
getCurrentFoldableState
public DeviceFoldableState getCurrentFoldableState ()
Возвращает текущее состояние складывания устройства или значение null, если возникли какие-либо проблемы.
getCurrentUser
public int getCurrentUser ()
Возвращает идентификатор текущего запущенного пользователя. В случае ошибки возвращает -10000.
getFoldableStates
public Set<DeviceFoldableState> getFoldableStates ()
Возвращает список состояний складывания устройства. Можно получить с помощью команды "cmd device_state print-states".
getInstalledPackageNames
public Set<String> getInstalledPackageNames ()
Получите имена пакетов приложений, присутствующих на устройстве.
| Возвраты |
|---|
Set<String> | Set String названий пакетов, установленных в данный момент на устройстве. |
getKeyguardState
public KeyguardControllerState getKeyguardState ()
Возвращает объект для получения текущего состояния блокировки клавиатуры или null, если это не поддерживается.
getMainUserId
public Integer getMainUserId ()
Возвращает основной идентификатор пользователя.
| Возвраты |
|---|
Integer | Идентификатор пользователя (userId) основного пользователя, если он есть, и null, если основного пользователя нет. |
getMainlineModuleInfo
public Set<String> getMainlineModuleInfo ()
Получите информацию об основных модулях, установленных на устройстве.
| Возвраты |
|---|
Set<String> | Set основных модулей String , установленных в данный момент на устройстве. |
public int getMaxNumberOfRunningUsersSupported ()
Укажите максимальное количество поддерживаемых одновременно запущенных приложений. Значение по умолчанию — 0.
| Возвраты |
|---|
int | целое число, указывающее количество одновременно запущенных пользователей. |
public int getMaxNumberOfUsersSupported (String userType)
Получает максимальное количество поддерживаемых пользователей заданного типа. По умолчанию — 0.
| Параметры |
|---|
userType | String : тип пользователя, определенный в UserManager, например, "android.os.usertype.full.SECONDARY". |
| Возвраты |
|---|
int | Целое число, указывающее количество поддерживаемых пользователей данного типа. |
public int getMaxNumberOfUsersSupported ()
Укажите максимальное количество поддерживаемых переключаемых пользователей, не включая гостей. После версии API 36 это количество не включает пользователей, не подлежащих переключению (например, профили). По умолчанию — 0.
| Возвраты |
|---|
int | Целое число, указывающее количество поддерживаемых переключаемых пользователей. |
getPrimaryUserId
public Integer getPrimaryUserId ()
Возвращает основной идентификатор пользователя.
| Возвраты |
|---|
Integer | Идентификатор пользователя (userId) основного пользователя, если таковой имеется, и null, если основного пользователя нет. |
getRemainingCreatableUserCount
public int getRemainingCreatableUserCount (String userType)
Возвращает значение, указывающее, сколько пользователей заданного типа можно создать на этом устройстве.
| Параметры |
|---|
userType | String : тип пользователя, определенный в UserManager, например, "android.os.usertype.full.SECONDARY". |
| Возвраты |
|---|
int | Сколько пользователей данного типа можно добавить? |
получить скриншот
public InputStreamSource getScreenshot (Long displayId,
String format,
boolean rescale)Делает снимок экрана с устройства с заданным идентификатором дисплея в поддерживаемом формате. Разрешается масштабирование для поддержки меньших размеров.
| Параметры |
|---|
displayId | Long : идентификатор экрана, с которого нужно сделать снимок экрана. |
format | String : поддерживаются форматы PNG, JPEG |
rescale | boolean : следует ли масштабировать снимок экрана для уменьшения размера результирующего изображения. |
получить скриншот
public InputStreamSource getScreenshot (String format,
boolean rescale)Делает снимок экрана с устройства. Рекомендуется использовать getScreenshot(String) с кодировкой JPEG для получения меньшего размера.
| Параметры |
|---|
format | String : поддерживаются форматы PNG, JPEG |
rescale | boolean : следует ли масштабировать снимок экрана для уменьшения размера результирующего изображения. |
получить скриншот
public InputStreamSource getScreenshot (String format)
Делает снимок экрана с устройства. Рекомендуется использовать getScreenshot(format) с кодировкой JPEG для получения меньшего размера.
| Параметры |
|---|
format | String : поддерживаются форматы PNG, JPEG |
получить скриншот
public InputStreamSource getScreenshot (long displayId)
Делает снимок экрана с устройства, указанного в идентификаторе дисплея. Формат — PNG.
TODO: расширить приведенные выше реализации для поддержки функций 'format' и 'rescale'.
| Параметры |
|---|
displayId | long : идентификатор экрана, с которого нужно сделать снимок экрана. |
получить скриншот
public InputStreamSource getScreenshot ()
Делает снимок экрана с устройства.
getSetting
public String getSetting (int userId,
String namespace,
String key)Возвращает значение запрошенного параметра. Пространство имен должно быть одним из следующих: {"system", "secure", "global"}.
| Параметры |
|---|
userId | int |
namespace | String |
key | String |
| Возвраты |
|---|
String | Значение, связанное с пространством имен:ключом пользователя. Null, если не найдено. |
getSetting
public String getSetting (String namespace,
String key)См. getSetting(int,String,String) , выполняемое для системного пользователя.
| Параметры |
|---|
namespace | String |
key | String |
getUninstallablePackageNames
public Set<String> getUninstallablePackageNames ()
Получите имена пакетов приложений, которые можно удалить. В настоящее время это пакеты, не являющиеся системными, и обновленные системные пакеты.
| Возвраты |
|---|
Set<String> | Set String названий пакетов, которые в данный момент установлены на устройстве и которые нельзя удалить. |
getUserFlags
public int getUserFlags (int userId)
Находит и возвращает флаги заданного пользователя. Флаги определены в классе "android.content.pm.UserInfo" в проекте Android с открытым исходным кодом.
| Возвраты |
|---|
int | Флаги, связанные с предоставленным идентификатором пользователя (если он найден), -10000 в остальных случаях. |
getUserInfos
public Map<Integer, UserInfo> getUserInfos ()
Получает карту соответствия useId и UserInfo на устройстве. Если выходные данные с устройства не соответствуют ожиданиям, будет выброшено исключение DeviceRuntimeException .
| Возвраты |
|---|
Map<Integer, UserInfo > | список объектов UserInfo. |
getUserSerialNumber
public int getUserSerialNumber (int userId)
Возвращает серийный номер, связанный с userId, если он найден, -10000 в остальных случаях.
getUserVisibleOnDisplay
public int getUserVisibleOnDisplay (int displayId)
Получает идентификатор пользователя, видимого на заданном экране.
| Параметры |
|---|
displayId | int : идентификатор дисплея. |
| Возвраты |
|---|
int | Идентификатор пользователя, видимого на данном экране. Он не различает видимого фонового пользователя от текущего активного пользователя, поскольку оба типа являются видимыми. Для дальнейшего различения сравните результат с результатом функции getCurrentUser(). |
имеетФункцию
public boolean hasFeature (String feature)
Проверьте, доступна ли данная функция на устройстве.
| Параметры |
|---|
feature | String : формат должен быть "feature:". " или " " напрямую. |
| Возвраты |
|---|
boolean | Если признак найден, то значение равно true, в противном случае — false. |
установить пакет
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 в случае успеха. |
установить пакет
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 в случае успеха. |
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 в случае успеха. |
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 в случае успеха. |
installPackageWithIncrementalMode
public boolean installPackageWithIncrementalMode (File[] apkFiles,
String[] extraArgs,
String userId)Устанавливает APK-файлы в инкрементальном режиме.
| Параметры |
|---|
apkFiles | File : файлы apk для установки. |
extraArgs | String |
userId | String |
установить пакеты
public String installPackages (List<File> packageFiles,
boolean reinstall,
String... extraArgs)| Параметры |
|---|
packageFiles | List |
reinstall | boolean |
extraArgs | String |
установить пакеты
public String installPackages (List<File> packageFiles,
boolean reinstall,
boolean grantPermissions,
String... extraArgs)| Параметры |
|---|
packageFiles | List |
reinstall | boolean |
grantPermissions | boolean |
extraArgs | String |
installPackagesForUser
public String installPackagesForUser (List<File> packageFiles,
boolean reinstall,
int userId,
String... extraArgs)| Параметры |
|---|
packageFiles | List |
reinstall | boolean |
userId | int |
extraArgs | String |
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 |
isAppEnumerationSupported
public boolean isAppEnumerationSupported ()
Проверьте, поддерживает ли платформа на устройстве перечисление приложений.
| Возвраты |
|---|
boolean | Возвращает true, если поддерживается перечисление приложений, false в противном случае. |
isHeadlessSystemUserMode
public boolean isHeadlessSystemUserMode ()
Возвращает значение, указывающее, использует ли устройство безголовый пользовательский режим системы.
isMainUserPermanentAdmin
public boolean isMainUserPermanentAdmin ()
Возвращает значение, указывающее, является ли основной пользователь постоянным администратором и не может ли он быть удален или понижен в статусе до статуса, отличного от администратора.
isMultiUserSupported
public boolean isMultiUserSupported ()
Возвращает значение, указывающее, поддерживает ли данное устройство возможность переключения нескольких пользователей с собственным логином и настраиваемым рабочим пространством.
Обратите внимание, что даже если это неверно, возможность использования нескольких пользователей всё ещё может быть реализована, если не требуется пользовательский интерфейс авторизации; например, профили могут поддерживаться, поскольку для них не требуется пользовательский интерфейс авторизации.
Это также проверяет параметр config_enableMultiUserUI. По требованию мы можем предположить, что устройства, для которых этот параметр выполняется, настроены на добавление дополнительных пользователей через adb.
| Возвраты |
|---|
boolean | поддерживает ли устройство переключение между несколькими пользователями. |
isPackageInstalled
public boolean isPackageInstalled (String packageName,
String userId)Для проверки наличия установленного пакета для данного пользователя выполните запрос к устройству по заданному имени пакета и идентификатору пользователя.
| Параметры |
|---|
packageName | String : пакет, наличие которого мы проверяем. |
userId | String : Идентификатор пользователя, для которого проверяется установка пакета. Если значение равно null, будет использоваться основной пользователь номер ноль. |
| Возвраты |
|---|
boolean | Значение True, если пакет указан как установленный. В противном случае — False. |
isPackageInstalled
public boolean isPackageInstalled (String packageName)
Чтобы проверить, установлен ли данный пакет на устройстве, выполните запрос по его имени.
| Параметры |
|---|
packageName | String |
| Возвраты |
|---|
boolean | Значение True, если пакет указан как установленный. В противном случае — False. |
isUserRunning
public boolean isUserRunning (int userId)
Проверьте, запущен ли данный пользователь.
| Возвраты |
|---|
boolean | Возвращает true, если пользователь запущен, false во всех остальных случаях. |
isUserSecondary
public boolean isUserSecondary (int userId)
Возвращает значение, указывающее, является ли указанный пользователь дополнительным пользователем в соответствии с его флагами.
| Возвраты |
|---|
boolean | Возвращает true, если пользователь является второстепенным, false в противном случае. |
isUserVisible
public boolean isUserVisible (int userId)
Проверяет, виден ли данный пользователь.
«Видимый» пользователь — это пользователь, который взаимодействует с «человеком» и, следовательно, может запускать действия (обычно в режиме отображения по умолчанию).
isUserVisibleOnDisplay
public boolean isUserVisibleOnDisplay (int userId,
int displayId)Проверяет, виден ли данный пользователь на данном экране.
«Видимый» пользователь — это пользователь, который взаимодействует с «человеком» и, следовательно, может запускать действия на этом экране.
| Параметры |
|---|
userId | int |
displayId | int |
listDisplayIds
public Set<Long> listDisplayIds ()
Получите список идентификаторов доступных дисплеев на устройстве, предоставленный программой "dumpsys SurfaceFlinger".
| Возвраты |
|---|
Set<Long> | Список дисплеев. Параметр Default всегда возвращает дисплей 0 по умолчанию. |
listDisplayIdsForStartingVisibleBackgroundUsers
public Set<Integer> listDisplayIdsForStartingVisibleBackgroundUsers ()
Получает список дисплеев, которые можно использовать для start a user visible in the background .
списокПользователей
public ArrayList<Integer> listUsers ()
Получает список пользователей на устройстве. Если вывод с устройства не соответствует ожиданиям, будет выброшено исключение DeviceRuntimeException .
| Возвраты |
|---|
ArrayList<Integer> | список идентификаторов пользователей. |
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 | Верно, если операция успешна, неверно в противном случае. |
removeOwners
public void removeOwners ()
Приложите все усилия для удаления всех существующих владельцев профилей устройств.
удалитьПользователь
public boolean removeUser (int userId)
Удалить указанного пользователя с устройства.
| Параметры |
|---|
userId | int : имя пользователя, которого нужно удалить |
| Возвраты |
|---|
boolean | Если нам удалось удалить пользователя, это значение равно true, в противном случае — false. |
setDeviceOwner
public boolean setDeviceOwner (String componentName,
int userId)Назначьте компонент администрирования устройства владельцем устройства для указанного пользователя.
| Параметры |
|---|
componentName | String : администратор устройства, который должен быть владельцем устройства. |
userId | int : имя пользователя, в котором проживает владелец устройства. |
| Возвраты |
|---|
boolean | Верно, если операция успешна, неверно в противном случае. |
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 |
setSetting
public void setSetting (int userId,
String namespace,
String key,
String value)Добавьте значение параметра в пространство имен заданного пользователя. Некоторые параметры станут доступны только после перезагрузки. Пространство имен должно быть одним из следующих: {"system", "secure", "global"}.
| Параметры |
|---|
userId | int |
namespace | String |
key | String |
value | String |
shutdownMicrodroid
public void shutdownMicrodroid (ITestDevice microdroidDevice)
Выключает устройство microdroid, если оно существует.
| Параметры |
|---|
microdroidDevice | ITestDevice |
startUser
public boolean startUser (int userId)
Запускает заданного пользователя в фоновом режиме, если он в данный момент остановлен. Если пользователь уже работает в фоновом режиме, этот метод ничего не делает.
| Параметры |
|---|
userId | int : имя пользователя, которого нужно запустить в фоновом режиме |
| Возвраты |
|---|
boolean | Возвращает true, если пользователь был успешно запущен в фоновом режиме. |
startUser
public boolean startUser (int userId,
boolean waitFlag)Запускает заданного пользователя в фоновом режиме, если он в данный момент остановлен. Если пользователь уже работает в фоновом режиме, этот метод ничего не делает. Можно добавить дополнительный флаг, чтобы дождаться завершения операции.
| Параметры |
|---|
userId | int : имя пользователя, которого нужно запустить в фоновом режиме |
waitFlag | boolean : команда будет ожидать, пока пользователь не будет запущен и разблокирован. |
| Возвраты |
|---|
boolean | Возвращает true, если пользователь был успешно запущен в фоновом режиме. |
startVisibleBackgroundUser
public boolean startVisibleBackgroundUser (int userId,
int displayId,
boolean waitFlag)Запускает пользователя в фоновом режиме, делая его видимым на указанном экране (т.е. позволяя пользователю запускать действия на этом экране).
ПРИМЕЧАНИЕ: эта команда не проверяет, существует ли пользователь, доступен ли дисплей, device supports such feature и т. д.
| Параметры |
|---|
userId | int : имя пользователя, которого нужно запустить в фоновом режиме |
displayId | int : дисплей, на котором пользователь начинает видеть изображение |
waitFlag | boolean : команда будет ожидать, пока пользователь не будет запущен и разблокирован. |
| Возвраты |
|---|
boolean | true , если пользователь успешно запущен и отображается в фоновом режиме. |
stopUser
public boolean stopUser (int userId)
Останавливает указанного пользователя. Если пользователь уже остановлен, этот метод ничего не делает. Не может остановить текущего и системного пользователя.
| Параметры |
|---|
userId | int : пользователя, которого нужно остановить. |
| Возвраты |
|---|
boolean | Возвращает true, если пользователь был успешно остановлен. |
stopUser
public boolean stopUser (int userId,
boolean waitFlag,
boolean forceFlag)Остановить конкретного пользователя. Можно указать дополнительные флаги для ожидания завершения операции и принудительного завершения работы пользователя. Невозможно остановить текущего и системного пользователя.
| Параметры |
|---|
userId | int : пользователя, которого нужно остановить. |
waitFlag | boolean : команда будет ожидать, пока пользователь не остановится. |
forceFlag | boolean : принудительно остановит пользователя. |
| Возвраты |
|---|
boolean | Возвращает true, если пользователь был успешно остановлен. |
поддерживает Microroid
public boolean supportsMicrodroid ()
Проверяет предварительные условия для запуска микродроида.
| Возвраты |
|---|
boolean | Возвращает true, если предварительные условия выполнены, false в противном случае. |
поддерживает Microroid
public boolean supportsMicrodroid (boolean protectedVm)
Проверяет предварительные условия для запуска микродроида.
| Параметры |
|---|
protectedVm | boolean : true, если microdroid предназначен для работы на защищенной виртуальной машине. |
| Возвраты |
|---|
boolean | Возвращает true, если предварительные условия выполнены, false в противном случае. |
switchUser
public boolean switchUser (int userId)
Переключиться на другой идентификатор пользователя с заданным по умолчанию таймаутом. switchUser(int, long) .
| Возвраты |
|---|
boolean | Значение true, если новый userId совпадает с поставщиком userId. В противном случае — false. |
switchUser
public boolean switchUser (int userId,
long timeout)Переключитесь на другой идентификатор пользователя, указав в качестве крайнего срока время ожидания. После успешной смены пользователя попытайтесь отключить блокировку экрана.
| Параметры |
|---|
userId | int |
timeout | long : ждать перед возвратом false для switch-user failed. |
| Возвраты |
|---|
boolean | Значение true, если новый userId совпадает с поставщиком userId. В противном случае — false. |
takeBugreport
public Bugreport takeBugreport ()
Принимает сообщение об ошибке и возвращает его в виде объекта Bugreport для обработки. Возвращает null в случае возникновения проблемы. Файл, на который ссылается объект Bugreport, необходимо очистить с помощью Bugreport.close() .
удалить пакет
public String uninstallPackage (String packageName)
Удалите пакет Android с устройства.
| Параметры |
|---|
packageName | String : пакет Android для удаления |
| Возвраты |
|---|
String | String с кодом ошибки или null в случае успеха. |
uninstallPackageForUser
public String uninstallPackageForUser (String packageName,
int userId)Удалить пакет Android с устройства для конкретного пользователя.
| Параметры |
|---|
packageName | String : пакет Android для удаления |
userId | int : целочисленный идентификатор пользователя, для которого нужно удалить программу. |
| Возвраты |
|---|
String | String с кодом ошибки или null в случае успеха. |
waitForSnapuserd
public void waitForSnapuserd (SnapuserdWaitPhase currentPhase)
| Параметры |
|---|
currentPhase | SnapuserdWaitPhase |
Защищенные методы
createParser
protected AaptParser createParser (File appFile)
doAdbReboot
protected void doAdbReboot (NativeDevice.RebootMode rebootMode,
String reason)Выполните команду adb reboot.
| Параметры |
|---|
rebootMode | NativeDevice.RebootMode : режим перезагрузки. |
reason | String : для этой перезагрузки. |
getBugreportzInternal
protected File getBugreportzInternal ()
Встроенный вспомогательный метод для получения ZIP-файла отчета об ошибке в виде File .
getCheckNewUserSleep
protected long getCheckNewUserSleep ()
Выставлено для тестирования.
getHostCurrentTime
protected long getHostCurrentTime ()
Выставлено для тестирования
prePostBootSetup
protected void prePostBootSetup ()
Позволяет каждому типу устройства (AndroidNativeDevice, TestDevice) переопределить этот метод для конкретных настроек после загрузки.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2026-06-22 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2026-06-22 UTC."],[],[]]