Перейти к основному содержимому

Окно устройства (эмуляторы)

Начало работы.​

В окне устройства идёт работа с эмулятором MEmu, LDPlayer или MuMu: здесь виден его экран, по нему можно кликать и свайпать мышью, а при включённой Записи все действия попадают в проект в виде экшенов. Меню и окна у всех эмуляторов одинаковые.

Работа с реальным телефоном в ZennoDroid Enterprise описана в статье Окно устройства.

Пока устройство не запущено, окно выглядит так:

Окно устройства до запуска.

Окно устройства до запуска

Чтобы начать работу, нажмите Запустить устройство. Если при этом включена Запись проекта, на холст будут добавлены два действия: Выбрать устройство и Запуск/перезапуск устройства.

Если запустить устройство не удалось, под кнопкой появится причина. Устраните её и нажмите кнопку ещё раз.

Причина неудачного запуска показывается начиная с версии ZennoDroid 2.6.2.0.

Компоненты окна.​

Такое окно вы увидите после успешного запуска устройства:

Окно запущенного устройства.

Окно запущенного устройства

С экраном можно работать напрямую: кликать, свайпать, открывать приложения - все действия передаются на устройство. А если включена запись, они ещё и добавляются на холст в виде соответствующих экшенов.


Кнопки управления.​

Кнопки управления

КнопкаОписание
НазадПереход на прошлый экран.
ДомойВозврат на домашний экран.
Недавние приложенияОткрыть список недавних приложений.
Обновить экранОбновить изображение экрана. Кнопка видна, только когда выбран способ захвата изображения Вручную.
Действия (три точки)Открыть меню действий.

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


Тип эмулятора.​

Тип эмулятора

Список слева в строке состояния выбирает эмулятор, с которым работает ZennoDroid: Memu, LDPlayer9, LDPlayer14 или MuMu. В списке только эмуляторы, установленные на компьютере, а если установлен всего один, списка нет.

Это тот же выбор, что и Тип эмулятора в настройках Android: после смены типа окно переключится на устройство выбранного эмулятора. Пока устройство запущено, список недоступен.

MuMu поддерживается начиная с версии ZennoDroid 2.6.2.0.

Как установить MuMu и что он умеет в ZennoDroid - в статье Установка MuMu.


Текущее устройство.​

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

Кнопка с именем текущего устройства. Нажатие открывает Менеджер устройств, где можно выбрать другое устройство.


Прокси.​

Прокси

Кнопка показывает прокси, установленный на устройстве, или надпись Без прокси. Нажатие открывает окно Установить прокси:

Окно «Установить прокси»

  • Адрес прокси - строка прокси, например 255.255.255.255:8080 или protocol://login:pass@IP:port.
  • Тип прокси - способ проксирования: По умолчанию (как задано в настройках), Proxifier, Redsocks или Clash. Чем они отличаются - в статье Проксирование трафика.

Кнопка OK применяет прокси к устройству.

Выбор типа прокси в этом окне доступен начиная с версии ZennoDroid 2.6.2.0.

Координаты мыши.​

Координаты мыши

Если курсор находится в пределах экрана устройства, здесь отображаются его текущие координаты (X, Y).
Эти координаты можно использовать в экшенах Эмуляция swipe и Эмуляция touch.


Меню действий.​

Меню действий появилось в версии ZennoDroid 2.6.2.0.

Кнопка Действия с тремя точками открывает меню часто используемых действий с устройством:

Меню действий

Пункты, у которых на значке красная точка, записываются в проект: если включена Запись, выполненное действие добавится на холст соответствующим экшеном. Что именно добавляется, показано в таблице ниже.

Большинство пунктов доступны, только пока устройство запущено. Пункты Разблокировать экран, Очистить logcat, Выполнить диагностику... и Выполнить команду... работают и с незапущенным устройством, если оно доступно по adb.

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


Приложения.​

Приложения

  • Установить APK... - открывает окно установки приложения.
  • Закрыть все приложения - убирает все приложения из списка недавних.

Пункты под заголовком Активное приложение работают с приложением, открытым на экране:

  • Очистить - очищает данные приложения. Перед очисткой ZennoDroid попросит подтверждение.
  • Очистить кэш - очищает только кэш приложения.
  • Закрыть - закрывает приложение.
  • Удалить - удаляет приложение с устройства, тоже после подтверждения.
  • Сделать бэкап... - сохраняет данные приложения в файл.
  • Восстановить из бэкапа... - восстанавливает данные приложения из файла бэкапа.
  • Получить APK... - сохраняет APK приложения на компьютер: подробнее.
  • Информация... - показывает идентификатор приложения, его название и версию.

Установка APK.​

Окно «Установить APK»

  • Файл APK - файл приложения на компьютере: .apk, .apks, .apkm или .xapk.
  • Кэшировать - оставить файл на устройстве: при повторной установке того же APK он не будет копироваться заново.
  • С правами суперпользователя - устанавливать от root.

Бэкап и восстановление.​

Оба окна работают с приложением, открытым на экране: его идентификатор указан в строке Приложение.

Окна «Сделать бэкап» и «Восстановить из бэкапа».

Окно «Сделать бэкап»

Окно «Восстановить из бэкапа»

  • Где хранится бэкап - На компьютере или На устройстве.
  • Файл бэкапа - путь к файлу.
  • При бэкапе: Сохранять разрешения, Сохранять связанный аккаунт и Тип аккаунта.
  • При восстановлении: Восстанавливать разрешения, Восстанавливать связанный аккаунт и Использовать модуль ZennoBackup.

Эти параметры повторяют параметры экшена Действия с приложениями.

Модуль ZennoBackup работает только на реальных телефонах: на эмуляторе с флажком «Использовать модуль ZennoBackup» восстановление завершится ошибкой.

Получить APK.​

Окно «Получить APK».

Окно «Получить APK»

Окно сохраняет на компьютер APK приложения, открытого на экране: его идентификатор указан в строке Приложение. В поле Куда сохранить на компьютере указывается файл. Сначала там стоит файл, названный по идентификатору приложения, в папке, куда APK сохраняли в прошлый раз, а в первый раз - в папке «Документы».

Если приложение установлено из нескольких APK (split APK), они сохраняются одним файлом .apks - его можно поставить обратно через Установить APK.... Кнопка Получить сохраняет файл, а долгую передачу можно остановить кнопкой Прервать.


Файлы.​

Файлы

  • Отправить файл... - копирует файлы с компьютера на устройство. В окне указываются Файл на компьютере и Куда положить файл на устройстве.
  • Получить файл... - копирует файл с устройства на компьютер. В окне указываются Какой файл забрать с устройства и Куда сохранить на компьютере.
  • Файлы устройства... - открывает файловый менеджер устройства.

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

Окна «Отправить файл» и «Получить файл».

Окно «Отправить файл»

Окно «Получить файл»

Файлы устройства.​

Окно «Файлы устройства».

Окно «Файлы устройства»

Файловый менеджер показывает папки и файлы устройства с размером, правами, владельцем, группой, контекстом SELinux и датой изменения. Кнопки над списком открывают корень /, папки /data и /sdcard. Кнопка со звёздочкой добавляет открытую папку в избранное или убирает её оттуда, а стрелка рядом с ней открывает список избранных папок.

Всё, что можно сделать с файлом или папкой, собрано в меню по правой кнопке мыши:

Меню файла

  • Открыть - открыть папку. Файл передаётся приложениям устройства: его откроет приложение для этого типа файлов, или на экране устройства появится выбор приложения.
  • Получить... - скопировать файл на компьютер.
  • Создать папку, Переименовать, Удалить.
  • Владелец и группа..., Права доступа..., Контекст SELinux... - изменить владельца и группу, права доступа и контекст SELinux.

Самые частые из этих действий продублированы кнопками внизу окна. А чтобы отправить файлы на устройство, перетащите их из Проводника в окно: они попадут в открытую папку.

В окне Права доступа права задаются флажками или числом:

Окно «Права доступа»


Другие действия.​

Другие действия

  • Сделать скриншот - сохраняет снимок экрана устройства в PNG. ZennoDroid спросит, куда сохранить файл, и запомнит папку.
  • Закрыть участок - закрывает участок изображения экрана. Используется для тестирования поиска по картинке. Флажок у пункта показывает, закрыт ли участок сейчас.
  • Приблизить и Отдалить - приближают и отдаляют изображение в приложении, открытом на устройстве.
  • Запись движений мыши - записывает движения мыши по экрану устройства. Пока идёт запись, в окне виден значок записи с подсказкой «Идёт запись движений мыши. Нажмите, чтобы остановить»: нажатие на него останавливает запись.

Устройство.​

Устройство

  • Запустить и Остановить - запуск и остановка устройства.
  • Перезапустить - запустить устройство заново, как действие Запуск: эмулятор перезапускается.
  • Разблокировать экран - будит устройство и убирает экран блокировки. Если он защищён PIN-кодом, паролем или графическим ключом, их вводят вручную.
  • Сменить язык системы... - меняет язык эмулятора без перезапуска: подробнее.

Язык системы.​

Окно «Сменить язык системы»

В поле Язык - языки, которые есть в прошивке эмулятора, с кодом, например ru-RU или en-US. На Android 10 и более ранних версиях прошивка такого списка не даёт, и в поле все языки. Чтобы найти нужный, начните вводить его код или название. При открытии окна в поле стоит текущий язык эмулятора.

Кнопка Применить сразу меняет язык, а строка над кнопками сообщает, применён ли он. Кнопка Добавить в проект добавляет на холст экшен Настройки устройства → Установка языка с выбранным языком - даже если запись выключена.


Диагностика.​

Диагностика

  • Информация об устройстве... - тип эмулятора, состояние, имя, заголовок и индекс устройства, его папка на компьютере и адрес. Текст можно скопировать кнопкой Скопировать в буфер обмена.
  • Очистить logcat - очищает журнал logcat на устройстве.
  • Выполнить диагностику... - собирает logcat, dmesg и последний tombstone в один ZIP-архив. Для dmesg и tombstone нужны права суперпользователя.
  • Проверить IP-адрес - показывает внешний IP-адрес устройства и, для сравнения, компьютера. Запрос идёт не из приложения, поэтому прокси, включённый только для выбранных приложений, на него может не действовать. Рекомендуется использовать, если для прокси не задан белый список.
  • Проверить IP-адрес в Chrome - открывает адрес проверки в Chrome и читает ответ страницы: IP-адрес таким, каким его видят приложения. Потом закрывает вкладку, а если Chrome до проверки не был запущен, то и его. Если Chrome на устройстве не установлен, над экраном появится сообщение «Chrome не установлен».
  • Адреса для проверки IP... - сервисы, которые спрашивают обе проверки.

Окно «Информация об устройстве»

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

Результаты проверки IP-адреса (данные на снимках скрыты).

Результат проверки IP-адреса

Результат проверки IP-адреса в Chrome

Окно «Адреса для проверки IP».

Окно «Адреса для проверки IP»

Адреса указываются по одному в строке, http или https. Проверка спрашивает их сверху вниз и показывает первый ответ, где есть IP-адрес: JSON, как у ipinfo.io, или просто текст. Пустой список - ipinfo.io. Кнопка По умолчанию возвращает исходный список.

В коде проекта то же самое делают методы GetExternalIp и GetExternalIpInBrowser.


Выполнить команду.​

Окно «Выполнить команду».

Окно «Выполнить команду»

Пункт Выполнить команду... открывает окно для команд adb shell. Ответ устройства выводится в поле Результат команды, а выполненные команды сохраняются в Истории команд. Щелчок по команде в истории подставляет её в поле, двойной щелчок сразу выполняет, а кнопка Удалить из истории убирает лишнюю.

  • С правами суперпользователя - выполнить команду от root.
  • Не проверять подключение - не проверять подключение к устройству перед выполнением команды.

Перетаскивание файлов.​

Файлы можно перетащить на окно устройства прямо из Проводника. Если все файлы - приложения (.apk, .apks, .apkm, .xapk), откроется окно установки APK, иначе - окно отправки файлов на устройство.


Что записывается в проект.​

Пункт менюЭкшен в проекте
Установить APK...Действия с приложениями → Установка приложения
Закрыть все приложенияДействия с приложениями → Закрыть приложение с пустым полем Имя приложения
Очистить, Очистить кэшДействия с приложениями → Очистка приложения
ЗакрытьДействия с приложениями → Закрыть приложение
УдалитьДействия с приложениями → Удаление приложения
Сделать бэкап...Действия с приложениями → Сохранить данные приложения
Восстановить из бэкапа...Действия с приложениями → Восстановить данные приложения
Получить APK...Действия с приложениями → Получить apk приложения
Отправить файл..., Получить файл...Работа с файлами → Отправка или получение файла
Сделать скриншотОбработка изображений: снимок экрана сохраняется в выбранный файл
Приблизить, ОтдалитьУтилиты → Масштабирование
Запустить, ПерезапуститьДействия с устройством → Запуск/перезапуск устройства
ОстановитьДействия с устройством → Остановить устройство
Проверить IP-адресC# код: return instance.DroidInstance.Proxy.GetExternalIp();, ответ - в переменной ExternalIp
Проверить IP-адрес в ChromeC# код: return instance.DroidInstance.Proxy.GetExternalIpInBrowser();, ответ - в переменной ExternalIp
Выполнить команду...Утилиты → Консольная команда (ADB Shell), ответ - в переменной AdbResult
Сменить язык системы... → Добавить в проектНастройки устройства → Установка языка

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


Контекстное меню.​

Кликните правой кнопкой мыши по элементу на экране устройства, и откроется контекстное меню. Набор пунктов зависит от элемента. Например, так меню выглядит на поле ввода:

Контекстное меню на поле ввода

Пункты для полей ввода:​

  • Очистить текст.
    Очищает поле ввода.
    Если включена запись, то в проект добавится экшен Эмуляция клавиатуры с таким содержимым: {AndroidKeys.CLEAR}.
  • Вставить текст из буфера обмена Windows.
    Вставляет в поле текст из буфера обмена компьютера. Если буфер пуст, ничего не происходит.
    Если включена запись, то в проект добавится экшен Эмуляция клавиатуры с этим текстом. Если перед ним в проекте тоже стоит эмуляция клавиатуры, текст допишется в неё: например, Очистить текст и затем Вставить текст из буфера обмена Windows дадут один экшен с содержимым {AndroidKeys.CLEAR}текст.
  • Установить значение из профиля.
    Вставляет в поле значение из Профиля проекта.
    Если включена запись, то в проект добавится экшен Установить значение с макросом из выбранного профиля.
  • Установить значение из переменной.
    Вставляет в поле значение переменной проекта. Пункт появляется, только если в проекте есть хотя бы одна переменная.
    Если включена запись, то в проект добавится экшен Установить значение с макросом выбранной переменной.

Пункты для любого элемента:​

  • Исследовать элемент.
    Вызывает окно Свойства элемента для более детального изучения. Также выбранный элемент будет выделен в окне Дерево элементов.
  • Следовать за курсором.
    Пока пункт включён, элемент под курсором подсвечивается, а его свойства попадают в окно Свойства элемента. Чтобы выключить подсветку, выберите пункт ещё раз.
Пример.

Следовать за курсором

Результат «Поиска XPath» в Конструкторе действий.

Поиск XPath

  • Это каптча!.
    Отмечает элемент как капчу и сразу добавляет в проект экшен её распознавания - даже если запись выключена. Ответ экшен кладёт в новую переменную RecognitionResult с номером, например RecognitionResult0. По умолчанию капча вводится вручную: откроется окно с картинкой элемента, где нужно набрать ответ и нажать Enter. Модуль распознавания можно сменить в самом экшене (например, на CapMonster.Cloud).
Окно ручного ввода капчи.

Окно ручного ввода капчи

  • Приклеить к каптче.
    Появляется, когда в проекте уже есть капча, отмеченная пунктом Это каптча!. Добавляет к ней ещё одну картинку: несколько отдельных картинок соединяются в одну и распознаются вместе.
  • Поле для результата распознавания каптчи.
    Тоже появляется, только когда в проекте есть капча. Вводит ответ на капчу в выбранный элемент и, если включена Запись, добавляет экшен Установить значение с переменной ответа.
  • Создать проверку наличия текста.
    Открывает окно Проверка наличия текста с текстом элемента. Кнопка OK добавляет в проект экшен проверки этого текста - даже если запись выключена. Результат проверки экшен кладёт в новую переменную.

Проверка наличия текста

  • Поиск по картинке.
    Открывает окно поиска по картинке со снимком экрана: в нём выделяется картинка и задаются точность совпадения, цветовой режим и область поиска. Если картинка нашлась, нажмите Да, а затем Добавить в проект: в проект добавится экшен клика по картинке. Если запись выключена, ZennoDroid спросит, добавить ли экшен всё равно. Подробнее - в статье Поиск по картинке.
Окно «Поиск по картинке».

Окно «Поиск по картинке»

  • Поиск по пикселю.
    Открывает окно поиска по цвету пикселя, уже с цветом пикселя под курсором. Здесь задаются допустимое отклонение цвета и область поиска, а найденный пиксель обводится на экране. Если пиксель нашёлся, нажмите Да: появятся настройки касания, смещение и кнопки Тестировать и Добавить в проект. Экшен клика по пикселю добавляется в проект, даже если запись выключена.
Окно «Поиск по пикселю».

Окно «Поиск по пикселю»

  • Получить цвет пикселя.
    Копирует цвет пикселя под курсором в буфер обмена в виде #RRGGBB. В проект ничего не добавляется.

Полезные ссылки.​