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

public class TestDevice
extends NativeDevice

java.lang.Объект
com.android.tradefed.device.NativeDevice
com.android.tradefed.device.TestDevice


Реализация ITestDevice для устройства Android с полным стеком

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

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

class TestDevice.MicrodroidBuilder

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

Поля

public static final String DISMISS_KEYGUARD_CMD

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

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

TestDevice (IDevice device, IDeviceStateMonitor stateMonitor, IDeviceMonitor allocationMonitor)

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

boolean canSwitchToHeadlessSystemUser ()

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

boolean clearErrorDialogs ()

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

int createUser (String name)

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

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

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

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

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

int createUserNoThrow (String name)

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

void disableKeyguard ()

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

boolean doesFileExist (String deviceFilePath)

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

boolean doesFileExist (String deviceFilePath, int userId)

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

File dumpHeap (String process, String devicePath)

Попытаться сбросить кучу с system_server.

getActiveApexes ()

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

getAllSettings (String namespace)

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

String getAndroidId (int userId)

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

getAndroidIds ()

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

PackageInfo getAppPackageInfo (String packageName)

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

getAppPackageInfos ()

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

InputStreamSource getBugreport ()

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

InputStreamSource getBugreportz ()

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

DeviceFoldableState getCurrentFoldableState ()

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

int getCurrentUser ()

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

getFoldableStates ()

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

getInstalledPackageNames ()

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

KeyguardControllerState getKeyguardState ()

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

Integer getMainUserId ()

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

getMainlineModuleInfo ()

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

int getMaxNumberOfRunningUsersSupported ()

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

int getMaxNumberOfUsersSupported ()

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

Integer getPrimaryUserId ()

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

InputStreamSource getScreenshot ()

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

InputStreamSource getScreenshot (String format, boolean rescale)

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

InputStreamSource getScreenshot (String format)

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

InputStreamSource getScreenshot (long displayId)

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

String getSetting (String namespace, String key)

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

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

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

getUninstallablePackageNames ()

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

int getUserFlags (int userId)

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

getUserInfos ()

Получает карту useId для UserInfo на устройстве.

int getUserSerialNumber (int userId)

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

boolean hasFeature (String feature)

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

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

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

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

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

String installPackage (File packageFile, File certFile, 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 на устройство для данного пользователя.

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

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

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

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

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

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

boolean isAppEnumerationSupported ()

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

boolean isHeadlessSystemUserMode ()

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

boolean isMainUserPermanentAdmin ()

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

boolean isMultiUserSupported ()

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

boolean isPackageInstalled (String packageName)

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

boolean isPackageInstalled (String packageName, String userId)

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

boolean isUserRunning (int userId)

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

boolean isUserSecondary (int userId)

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

boolean isUserVisible (int userId)

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

boolean isUserVisibleOnDisplay (int userId, int displayId)

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

boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

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

boolean isVisibleBackgroundUsersSupported ()

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

listDisplayIds ()

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

listDisplayIdsForStartingVisibleBackgroundUsers ()

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

listUsers ()

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

boolean logBugreport (String dataName, ITestLogger listener)

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

void postInvocationTearDown (Throwable exception)

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

boolean removeAdmin (String componentName, int userId)

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

void removeOwners ()

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

boolean removeUser (int userId)

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

boolean setDeviceOwner (String componentName, int userId)

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

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 waitFlag, boolean forceFlag)

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

boolean stopUser (int userId)

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

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 с устройства для данного пользователя.

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

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

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

InputStreamSource getBugreportInternal ()
File getBugreportzInternal ()

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

long getCheckNewUserSleep ()

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

long getHostCurrentTime ()

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

void prePostBootSetup ()

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

Поля

DISMISS_KEYGUARD_CMD

public static final String DISMISS_KEYGUARD_CMD

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

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

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

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

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

можетSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

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

Возвращает
boolean

Броски
DeviceNotAvailableException

ClearErrorDialogs

public boolean clearErrorDialogs ()

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

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

Броски
DeviceNotAvailableException

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

public int createUser (String name)

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

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

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

Броски
DeviceNotAvailableException

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

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

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

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

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

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

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

Возвращает
int id созданного пользователя

Броски
DeviceNotAvailableException

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

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

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

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

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

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

Возвращает
int id созданного пользователя

Броски
DeviceNotAvailableException

создатьUserNoThrow

public int createUserNoThrow (String name)

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

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

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

Броски
DeviceNotAvailableException

отключитьKeyguard

public void disableKeyguard ()

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

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

Броски
DeviceNotAvailableException

делаетFileExist

public boolean doesFileExist (String deviceFilePath)

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

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

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

Броски
DeviceNotAvailableException

делаетFileExist

public boolean doesFileExist (String deviceFilePath, 
                int userId)

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

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

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

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

Броски
DeviceNotAvailableException

дампКуча

public File dumpHeap (String process, 
                String devicePath)

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

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

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

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

Броски
DeviceNotAvailableException

getActiveApexes

public  getActiveApexes ()

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

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

Броски
DeviceNotAvailableException

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

public  getAllSettings (String namespace)

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

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

Возвращает
карта пар ключ-значение. Null, если пространство имен не поддерживается.

Броски
DeviceNotAvailableException

getAndroidId

public String getAndroidId (int userId)

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

Параметры
userId int

Возвращает
String

Броски
DeviceNotAvailableException

getAndroidIds

public  getAndroidIds ()

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

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

Броски
DeviceNotAvailableException

GetAppPackageInfo

public PackageInfo getAppPackageInfo (String packageName)

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

Параметры
packageName String

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

Броски
DeviceNotAvailableException

getAppPackageInfos

public  getAppPackageInfos ()

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

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

Броски
DeviceNotAvailableException

getBugreport

public InputStreamSource getBugreport ()

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

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

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

получитьBugreportz

public InputStreamSource getBugreportz ()

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

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

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

жеткуррентфолдаблестате

public DeviceFoldableState getCurrentFoldableState ()

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

Возвращает
DeviceFoldableState

Броски
DeviceNotAvailableException

getCurrentUser

public int getCurrentUser ()

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

Возвращает
int

Броски
DeviceNotAvailableException

getFoldableStates

public  getFoldableStates ()

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

Возвращает

Броски
DeviceNotAvailableException

getInstalledPackageNames

public  getInstalledPackageNames ()

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

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

Броски
DeviceNotAvailableException

getKeyguardState

public KeyguardControllerState getKeyguardState ()

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

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

Броски
DeviceNotAvailableException

получитьMainUserId

public Integer getMainUserId ()

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

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

Броски
DeviceNotAvailableException

getMainlineModuleInfo

public  getMainlineModuleInfo ()

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

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

Броски
DeviceNotAvailableException

getMaxNumberOfRunningUsersSupported

public int getMaxNumberOfRunningUsersSupported ()

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

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

Броски
DeviceNotAvailableException

getMaxNumberOfUsersSupported

public int getMaxNumberOfUsersSupported ()

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

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

Броски
DeviceNotAvailableException

getPrimaryUserId

public Integer getPrimaryUserId ()

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

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

Броски
DeviceNotAvailableException

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

public InputStreamSource getScreenshot ()

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

Возвращает
InputStreamSource InputStreamSource снимка экрана в формате png или 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: расширить реализации выше для поддержки «формата» и «изменения масштаба»

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

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

Броски
DeviceNotAvailableException

getSetting

public String getSetting (String namespace, 
                String key)

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

Параметры
namespace String

key String

Возвращает
String

Броски
DeviceNotAvailableException

getSetting

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

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

Параметры
userId int

namespace String

key String

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

Броски
DeviceNotAvailableException

getUninstallablePackageNames

public  getUninstallablePackageNames ()

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

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

Броски
DeviceNotAvailableException

getUserFlags

public int getUserFlags (int userId)

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

Параметры
userId int

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

Броски
DeviceNotAvailableException

getUserInfos

public  getUserInfos ()

Получает карту useId для UserInfo на устройстве. Вызовет DeviceRuntimeException , если вывод с устройства не соответствует ожидаемому.

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

Броски
DeviceNotAvailableException

получитьсерийный номер пользователя

public int getUserSerialNumber (int userId)

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

Параметры
userId int

Возвращает
int

Броски
DeviceNotAvailableException

hasFeature

public boolean hasFeature (String feature)

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

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

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

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

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

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, 
                File certFile, 
                boolean reinstall, 
                String... extraArgs)

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

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

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

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

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

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

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

Броски
DeviceNotAvailableException

установитьПакетажефорузер

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

установитьПакетажефорузер

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

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

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

Параметры
packageFiles

reinstall boolean

extraArgs String

Возвращает
String

Броски
DeviceNotAvailableException

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

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

Параметры
packageFiles

reinstall boolean

grantPermissions boolean

extraArgs String

Возвращает
String

Броски
DeviceNotAvailableException

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

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

Параметры
packageFiles

reinstall boolean

grantPermissions boolean

userId int

extraArgs String

Возвращает
String

Броски
DeviceNotAvailableException

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

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

Параметры
packageFiles

reinstall boolean

userId int

extraArgs String

Возвращает
String

Броски
DeviceNotAvailableException

установитьRemotePackages

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

Параметры
remoteApkPaths

reinstall boolean

extraArgs String

Возвращает
String

Броски
DeviceNotAvailableException

установитьRemotePackages

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

Параметры
remoteApkPaths

reinstall boolean

grantPermissions boolean

extraArgs String

Возвращает
String

Броски
DeviceNotAvailableException

isAppEnumerationSupported

public boolean isAppEnumerationSupported ()

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

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

Броски
DeviceNotAvailableException

isHeadlessSystemUserMode

public boolean isHeadlessSystemUserMode ()

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

Возвращает
boolean

Броски
DeviceNotAvailableException

isMainUserPermanentAdmin

public boolean isMainUserPermanentAdmin ()

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

Возвращает
boolean

Броски
DeviceNotAvailableException

isMultiUserSupported

public boolean isMultiUserSupported ()

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

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

Броски
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName)

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

Параметры
packageName String

Возвращает
boolean Истинно, если пакет указан как установленный. Ложь в противном случае.

Броски
DeviceNotAvailableException

isPackageInstalled

public boolean isPackageInstalled (String packageName, 
                String userId)

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

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

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

Возвращает
boolean Истинно, если пакет указан как установленный. Ложь в противном случае.

Броски
DeviceNotAvailableException

isUserRunning

public boolean isUserRunning (int userId)

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

Параметры
userId int

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

Броски
DeviceNotAvailableException

isUserSecondary

public boolean isUserSecondary (int userId)

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

Параметры
userId int

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

Броски
DeviceNotAvailableException

isUserVisible

public boolean isUserVisible (int userId)

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

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

Параметры
userId int

Возвращает
boolean

Броски
DeviceNotAvailableException

isUserVisibleOnDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

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

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

Параметры
userId int

displayId int

Возвращает
boolean

Броски
DeviceNotAvailableException

isVisibleBackgroundUsersOnDefaultDisplaySupported

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

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

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

Возвращает
boolean

Броски
DeviceNotAvailableException

isVisibleBackgroundUsersSupported

public boolean isVisibleBackgroundUsersSupported ()

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

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

Возвращает
boolean

Броски
DeviceNotAvailableException

списокDisplayIds

public  listDisplayIds ()

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

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

Броски
DeviceNotAvailableException

списокDisplayIdsForStartingVisibleBackgroundUsers

public  listDisplayIdsForStartingVisibleBackgroundUsers ()

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

Возвращает

Броски
DeviceNotAvailableException

listПользователи

public  listUsers ()

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

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

Броски
DeviceNotAvailableException

logBugотчет

public boolean logBugreport (String dataName, 
                ITestLogger listener)

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

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

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

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

postInvocationTearDown

public void postInvocationTearDown (Throwable exception)

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

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

удалитьАдмин

public boolean removeAdmin (String componentName, 
                int userId)

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

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

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

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

Броски
DeviceNotAvailableException

удалитьВладельцы

public void removeOwners ()

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

Броски
DeviceNotAvailableException

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

public boolean removeUser (int userId)

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

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

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

Броски
DeviceNotAvailableException

setDeviceOwner

public boolean setDeviceOwner (String componentName, 
                int userId)

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

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

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

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

Броски
DeviceNotAvailableException

setSetting

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

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

Параметры
namespace String

key String

value String

Броски
DeviceNotAvailableException

setSetting

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

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

Параметры
userId int

namespace String

key String

value String

Броски
DeviceNotAvailableException

выключениеMicrodroid

public void shutdownMicrodroid (ITestDevice microdroidDevice)

Выключает устройство microdroid, если оно существует.

Параметры
microdroidDevice ITestDevice

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

startUser

public boolean startUser (int userId)

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

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

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

Броски
DeviceNotAvailableException

startUser

public boolean startUser (int userId, 
                boolean waitFlag)

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

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

остановитьпользователя

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

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

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

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

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

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

Броски
DeviceNotAvailableException

остановитьпользователя

public boolean stopUser (int userId)

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

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

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

Броски
DeviceNotAvailableException

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

public boolean supportsMicrodroid ()

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

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

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

public boolean supportsMicrodroid (boolean protectedVm)

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

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

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

поменять пользователя

public boolean switchUser (int userId)

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

Параметры
userId int

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

Броски
DeviceNotAvailableException

поменять пользователя

public boolean switchUser (int userId, 
                long timeout)

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

Параметры
userId int

timeout long : ждать, прежде чем вернуть false для пользователя-переключателя не удалось.

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

Броски
DeviceNotAvailableException

возьмисообщить об ошибке

public Bugreport takeBugreport ()

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

Возвращает
Bugreport

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

public String uninstallPackage (String packageName)

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

Параметры
packageName String : пакет Android для удаления.

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

Броски
DeviceNotAvailableException

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

public String uninstallPackageForUser (String packageName, 
                int userId)

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

Параметры
packageName String : пакет Android для удаления.

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

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

Броски
DeviceNotAvailableException

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

создатьпарсер

protected AaptParser createParser (File appFile)

Параметры
appFile File

Возвращает
AaptParser

doAdbReboot

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

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

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

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

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

getBugreportInternal

protected InputStreamSource getBugreportInternal ()

Возвращает
InputStreamSource

getBugreportzInternal

protected File getBugreportzInternal ()

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

Возвращает
File

getCheckNewUserSleep

protected long getCheckNewUserSleep ()

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

Возвращает
long

getHostCurrentTime

protected long getHostCurrentTime ()

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

Возвращает
long

prePostBootSetup

protected void prePostBootSetup ()

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

Броски
DeviceNotAvailableException