Утилиты (Enterprise)
Пожалуйста, ознакомьтесь с Правилами использования материалов на данном ресурсе
Оглавление
Описание
В данном экшене собраны различные полезные функции: выполнение консольной команды (ADB Shell), получение структуры элементов и другие.
Как добавить действие в проект?
Через контекстное меню Добавить действие → Android → Утилиты
Либо воспользуйтесь умным поиском.
Как работать с экшеном?
Консольная команда (ADB Shell)
Данный экшен - это НЕ команды ADB!
Экшен позволяет выполнить встроенные в Android консольные Linux команды.
Примерно то же самое, что и выполнение команд в приложении Terminal Emulator for Android.
Начиная с версии 2.2.5 у экшена есть таймаут выполнения в 10 секунд. Если команда не выполнилась за это время, то экшен завершит работу с ошибкой (выход по красной ветке). Начиная с версии 2.3.2 таймаут выполнения можно задать вручную.
Примеры команд:
ls -la /sdcard/Download - получить все файлы и директории по пути /sdcard/Downloadpm list packages - все установленные приложения.pm list packages -3 - только сторонние приложения.
Команда ADB Shell - команда, которую нужно выполнить.
Положить результат в переменную - здесь необходимо указать существующую или создать новую переменную, в которую будет сохранён результат работы.
Более подробно о работе с данным экшеном написано в статье Команды ADB Shell (Консольные команды).
Отправка/получение файлов и папок
Начиная с версии 2.3.2 данный экшен поддерживает выполнение команд для отправки файлов на устройство и получения файлов с устройства:
Первый параметр откуда, второй параметр куда.
Отправить папку:
adb push "c:\MyFolder" /sdcard/Отправить файл:
adb push "{-Project.Directory-}myFile.txt" /sdcard/myFileNewName.txtПолучить папку:
adb pull /sdcard/myFolder c:\Users\PublicПолучить файл:
adb pull /sdcard/myFile.txt "{-Project.Directory-}myFileNewName.txt"
Настройка WiFi
Требуется установленный модуль ZennoDroid для LSPosed
С помощью этого экшена можно подменить имя (SSID) и MAC адрес (BSSID) WiFi сети к которой подключено устройство
Установка Geo-позиции
Данное действие позволяет подменить местоположение устройства.
Широта - допустимые значения от -90 до 90.
Долгота - допустимые значения от -180 до 180.
Высота - высота относительно уровня моря в метрах.
Направление - допустимые значения от 0 до 360.
Скорость - скорость объекта в км/ч.
Можно использовать дробные значения. Разделитель дробной части либо [.](точка), либо [,](запятая).
Пример: широта и долгота Нью-Йорка 40.7143 и -74.006
Получить структуру элементов (XML)
С помощью этого действия можно получить структуру элементов экрана в виде XML строки. Это те же данные, что отображены в Окне дерева элементов, только в виде XML строки.
Затем эти данные можно разобрать с помощью экшена Обработка JSON и XML и XPath.
Среди самых полезных атрибутов, которые можно получить у элемента:
координаты и ширину с высотой (атрибут
bounds)отображаемый текст (атрибут
text или content-desc)уникальный id элемента (атрибут
resource-id)
Масштабирование
Данный экшен позволяет Отдалить (уменьшить) или Приблизить (увеличить) масштаб.
Координаты - точка, относительно которой будет изменяться масштаб.
Коэффициент - как сильно нужно уменьшить\увеличить масштаб.
Отправить SMS на устройство
Данный экшен позволяет эмулировать отправку SMS на устройство.
Телефон - номер телефона отправителя.
Сообщение - текстовое сообщение.
Получить параметры подключения ADB
Данный экшен позволяет получить серийный номер или адрес и порт подключенного устройства (в зависимости от способа подключения).
Используется при необходимости выполнить специфичные команды ADB (adb -s serial mdns services)
Получить буфер обмена устройства
Экшен позволяет сохранить содержимое буфера обмена устройства в переменную.
Задать буфер обмена на устройстве.
Экшен позволяет задать содержимое буфера обмена на устройстве.
С помощью экшена Эмуляция клавиатуры (ZD) содержимое буфера может быть вставлено в нужное поле через макрос {AndroidKeys.PASTE}
Выполнить запрос SQLite3
Экшен позволяет выполнить SQL-запрос к базе данных на устройстве. При первом запуске все необходимые файлы будут автоматически установлены на устройство в зависимости от его архитектуры.
Путь к базе данных: полный путь к файлу, например, /data/data/com.android.providers.contacts/databases/contacts2.db
Запрос: SQL-запрос, например, SELECT * FROM contacts
Ответ в формате JSON: если установлен данный параметр, результат запроса будет возвращен в формате JSON (данные можно разобрать с помощью экшена Обработка JSON и XML). В противном случае ответ будет в виде массива строк. Разделителем в строке является символ | (вертикальная черта)
Выполнить скрипт Frida
Экшен позволяет выполнить на устройстве скрипт Frida для приложения. При первом запуске все необходимые файлы будут автоматически установлены на устройство в зависимости от его архитектуры. После чего будет запущен сервер Frida.
Имя приложения: название приложения в которое необходимо загрузить скрипт.
Скрипт: содержимое скрипта. Поддерживаются макросы
Подробнее про работу с Frida можно прочитать в теме Установка и запуск сервера Frida