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

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

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

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

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

int getCurrentUser ()

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

getFoldableStates ()

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

getInstalledPackageNames ()

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

KeyguardControllerState getKeyguardState ()

Верните объект, чтобы получить текущее состояние защиты клавиатуры или значение 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)

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

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)

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

canSwitchToHeadlessSystemUser

public boolean canSwitchToHeadlessSystemUser ()

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

Возврат
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 идентификатор созданного пользователя

Броски
DeviceNotAvailableException

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

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

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

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

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

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

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

Броски
DeviceNotAvailableException

createUserNoThrow

public int createUserNoThrow (String name)

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

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

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

Броски
DeviceNotAvailableException

отключитьKeyguard

public void disableKeyguard ()

Пытается отключить защиту клавиатуры.

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

Броски
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 : должна быть одной из {"системных", "безопасных", "глобальных"}.

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

Броски
DeviceNotAvailableException

получитьAndroidId

public String getAndroidId (int userId)

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

Параметры
userId int

Возврат
String

Броски
DeviceNotAvailableException

получитьAndroidIds

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

getBugreportz

public InputStreamSource getBugreportz ()

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

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

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

getCurrentFoldableState

public DeviceFoldableState getCurrentFoldableState ()

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

Возврат
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 ()

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

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

Броски
DeviceNotAvailableException

getMainUserId

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

получитьPrimaryUserId

public Integer getPrimaryUserId ()

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

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

Броски
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot ()

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

Возврат
InputStreamSource InputStreamSource снимка экрана в формате png или null , если снимок экрана не удался.

Броски
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format, 
                boolean rescale)

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

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

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

Возврат
InputStreamSource InputStreamSource снимка экрана в формате или null , если снимок экрана не удался.

Броски
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (String format)

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

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

Возврат
InputStreamSource InputStreamSource снимка экрана в формате или null , если снимок экрана не удался.

Броски
DeviceNotAvailableException

getScreenshot

public InputStreamSource getScreenshot (long displayId)

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

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

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

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

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

getUserSerialNumber

public int getUserSerialNumber (int userId)

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

Параметры
userId int

Возврат
int

Броски
DeviceNotAvailableException

имеет особенность

public boolean hasFeature (String feature)

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

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

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

Броски
DeviceNotAvailableException

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

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

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

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

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

extraArgs String : необязательные дополнительные аргументы для передачи. Доступные параметры см. в «adbshell 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 : необязательные дополнительные аргументы для передачи. Доступные параметры см. в «adbshell 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 : необязательные дополнительные аргументы для передачи. Доступные параметры см. в «adbshell 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 : необязательные дополнительные аргументы для передачи. Доступные параметры см. в «adbshell 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 : необязательные дополнительные аргументы для передачи. Доступные параметры см. в «adbshell 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

installPackagesForUser

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

Параметры
packageFiles

reinstall boolean

grantPermissions boolean

userId int

extraArgs String

Возврат
String

Броски
DeviceNotAvailableException

installPackagesForUser

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 : идентификатор пользователя, для которого мы проверяем пакет, установлен. Если значение равно нулю, будет использоваться нулевой основной пользователь.

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

Броски
DeviceNotAvailableException

isUserRunning

public boolean isUserRunning (int userId)

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

Параметры
userId int

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

Броски
DeviceNotAvailableException

isUserSecondary

public boolean isUserSecondary (int userId)

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

Параметры
userId int

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

Броски
DeviceNotAvailableException

isUserVisible

public boolean isUserVisible (int userId)

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

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

Параметры
userId int

Возврат
boolean

Броски
DeviceNotAvailableException

isUserVisibleOnDisplay

public boolean isUserVisibleOnDisplay (int userId, 
                int displayId)

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

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

Параметры
userId int

displayId int

Возврат
boolean

Броски
DeviceNotAvailableException

isVisibleBackgroundUsersOnDefaultDisplaySupported

public boolean isVisibleBackgroundUsersOnDefaultDisplaySupported ()

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

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

Возврат
boolean

Броски
DeviceNotAvailableException

isVisibleBackgroundUsersSupported

public boolean isVisibleBackgroundUsersSupported ()

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

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

Возврат
boolean

Броски
DeviceNotAvailableException

списокдисплейидс

public  listDisplayIds ()

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

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

Броски
DeviceNotAvailableException

listDisplayIdsForStartingVisibleBackgroundUsers

public  listDisplayIdsForStartingVisibleBackgroundUsers ()

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

Возврат

Броски
DeviceNotAvailableException

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

public  listUsers ()

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

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

Броски
DeviceNotAvailableException

журнал ошибок

public boolean logBugreport (String dataName, 
                ITestLogger listener)

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

Параметры
dataName String : имя, под которым будет сообщаться об ошибке.

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

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

постПризывСнос

public void postInvocationTearDown (Throwable exception)

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

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

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

public boolean removeAdmin (String componentName, 
                int userId)

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

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

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

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

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

Броски
DeviceNotAvailableException

УстановитьНастройки

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

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

Параметры
namespace String

key String

value String

Броски
DeviceNotAvailableException

УстановитьНастройки

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

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

Параметры
userId int

namespace String

key String

value String

Броски
DeviceNotAvailableException

выключениеMicroroid

public void shutdownMicrodroid (ITestDevice microdroidDevice)

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

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

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

public boolean supportsMicrodroid ()

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

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

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

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

взятьBugreport

public Bugreport takeBugreport ()

Возьмите отчет об ошибке и верните его в объект Bugreport для его обработки. Верните ноль в случае проблемы. Файл, на который ссылается объект 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