• Регистрация
07.03.2017

ZennoDroid – Автоматизация задач, выполнение действий с виртуальными машинами Android.

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

ZennoDroid – это программный комплекс для автоматизации задач выполнения действий с виртуальными машинами Android. В нем заложена вся мощь хорошо зарекомендовавшего себя продукта ZennoPoster. Все, к чему вы привыкли, было частично перенесено в ZennoDroid.

Программа позволяет работать с двумя типами виртуальных машин:

  • Android Virtual Device (AVD, идет в комплекте).
  • Bluestacks (BS, устанавливается отдельно).

Каждая из них имеет ряд особенностей и преимуществ:

Виртуальная машина AVD максимально приближена к реальным (физическим) аппаратам на базе Android. У нее имеется возможность эмулировать архитектуру ARM. Однако, это негативно сказывается на производительности.

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

 

Настройка виртуальной машины AVD.

Если вы планируете использовать виртуальную машину AVD, то необходимо произвести некоторые настройки. Для обладателей процессоров Intel рекомендуется сразу установить Intel® Hardware Accelerated Execution Manager, это позволит максимально использовать аппаратное ускорение для виртуальной машины AVD. Во время установки будет предложено выбрать объем оперативной памяти, выделяемой под задачи виртуализации. Значение нужно устанавливать исходя из возможностей компьютера и от планируемого количества используемых потоков.

(одна виртуальная машина требует от 1,5 ГБ до 2 ГБ оперативной памяти).
Тогда, можно будет расчитывать на работу 4-5 одновременно запушенных виртуальных машин.

 

Настройки AVD:

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

 

Настройка виртуальной машины Bluestacks.

Для работы с виртуальной машиной Bluestacks необходимо её скачать с одноименного сайта и установить на компьютер.
Настройки выглядят так:

Директория Bluestacks - директория, где установлена виртуальная машина (определяется автоматически).
Разрешение экрана эмулятора - физический размер экрана виртуалки.
Объем памяти устройства - объем оперативной памяти выделяемый для виртуалки.
Использовать улучшенный способ захвата экрана - режим захвата экрана виртуальной машины ZennoDroid.

 

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

Запись и работа с проектами аналогична ZennoPoster, исключением является то, что рабочий инстанс не доступен в начале (т. к. необходимо запустить виртуалку) и един для всех открытых проектов.

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

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

 

Действия с виртуальной машиной Android.

1) Запустить

Позволяет запустить текущую виртуальную машину (см. действие «Создать» или «Загрузить»). Включает в себя несколько параметров (только для AVD):

  • Перезапускать - если текущая виртуалка уже запущена, то она будет перезапущена.
  • Разрешать повторы - виртуалка будет запускаться в многопоточном режиме. Каждый новый дубль, работает с временными файлами и изменения в них не сохранятся.
  • Очищать данные - каждый запуск виртуальной машины будет как первый раз, файлы эталонного образа берутся из директории указанной в настройках.

 

2) Редактировать (AVD)​

Изменение некоторых параметров виртуалки (применяется после перезапуска):

  • IMEI - подмена IMEI виртуалки на необходимый.
  • Телефон - подмена телефона виртуалки на необходимый.
 

3) Редактировать (BS)

  • GUID - идентификатор устройства, на его основе генерирует IMEI и Номер телефона устройства.
  • Data - выбор директории, где будут храниться данные устройства.
  • SDCard - выбор директории, где будут храниться данные sd-карты.
 

4) Установить прокси

Устанавливает нужный прокси через Proxifier.

 

5) Создать

Создает необходимую виртуалку в указанном каталоге и указывает ее для работы в текущей сессии:

  • Каталог для создания - место сохранения виртуалки.
  • Имя - имя виртуалки по которой она идентифицируется.
  • Архитектура - варианты архитектуры. Или x86 или Arm.
  • IMEI - IMEI виртуалки.
  • Телефон - телефон виртуалки.

 

6) Загрузить

Устанавливает виртуальную машину для текущей сессии:

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

7) Сохранить как...

Позволяет сохранить текущую виртуальную машину в новом месте.

 

 

Взаимодействие с Android.

 

Установка приложения

Установка приложения (apk) на устройство.

 

Удаление приложения

Удаление приложения (apk) по имени. Имена установленных приложений можно получить воспользовавшись кнопкой «Установленные приложения»

 

Эмуляция touch и Эмуляция swipe

Работает аналогично эмуляции мыши для ZennoPoster

 

Эмуляция клавиатуры Android

Ввод символов где это возможно по аналогии эмуляции клавиатуры в ZennoPoster. В связи с особенностями передачи кириллицы, ее ввод происходит медленней чем латинских символов.

 

Установка Geo-позиции

Указание координат для gps-сенсора. Недоступно для BS.

 

 

Примеры проектов.


Как правило, используются два основных патерна разработки проектов, в основном применимых для виртуалки AVD:

1) Запуск виртуалки для выполнения действий результат которых не должен отразится на последующих запусках (без сохранения).

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

 

2) Создание собственной виртуалки или сохранение текущей.

Например, в стандартной виртуальной машине было установлено приложение, которое планируется использовать в дальнейшем. Кроме того, не хочется, чтобы оно было потерто следующим запуском с параметром “Очищать данные”. Для этого необходимо сохранить виртуалку в любую удобную директорию. И в дальнейшем для работы с вновь созданной виртуалкой достаточно перед ее запуском воспользоваться экшеном “Загрузить” с указанием пути к файлам и именем виртуалки. Все действия с этой виртуалкой будут сохранятся в ней, исключением будет тот случай если в действии “Загрузить” установлен параметр “Только для чтения”.
Аналогично, можно в начале создать новую виртуальную машину с удобным именем и расположением (“Создать”).

Для виртуалки Bluestacks можно выполнять похожие действия изменяя в экшене “Редактировать”, пути к директориям Data.sparsefs и SDCard.sparsefs (Обратите внимание, что имена директорий должны заканчиваться на “.sparsefs”). Если эти директории пусты, то это аналогично созданию новой виртуальной машины. Если раньше они уже использовались, то данные будут загружаться и сохранятся в них.

 

Выполнение проектов в ZennoDroid.


Функционал ZennoDroid аналогичен ZennoPoster. После записи проекта в ProjectMaker для ZennoDroid, нужно добавить его в сам ZennoDroid для выполнения.
Есть дополнительные ограничения на количество потоков: для Bluestacks нельзя запустить более одной виртуалки одновременно.