Выбор и запуск виртуальной машины (ZD)
Пожалуйста, ознакомьтесь с Правилами использования материалов на данном ресурсе
Описание
В данной заметке описано как правильно выбрать и запускать виртуальные машины (ВМ) при работе с ZennoDroid.
Как ZennoDroid работает с виртуальными машинами (ВМ)?
При случайном выборе (когда в действии Выбрать не указано имя или индекс) ZennoDroid всегда выбирает рандомную, не занятую в этот момент ВМ.
Если вы хотите вручную выбрать машину, то вы должны самостоятельно контролировать, чтобы разные потоки не выбирали одновременно одну и ту же машину.
Рассмотрим на примере:
есть ВМ с именем
Memu_1
и два проекта,Проект1
иПроект2
, которые работают с этой ВМ.Проект1
стартует раньше и “забирает” ВМMemu_1
себе. Затем запускаетсяПроект2
и “видит”, что ВМ занята. Он подождёт 60 секунд и, если ВМ не освобождена, то завершится с ошибкой. Если же в течение этих 60 секундПроект1
освободит ВМ, то второй проект “подберёт” ВМ и будет с ней работать.то же самое произойдёт, если в проекте жёстко указано работать с конкретной ВМ и проект запускается в несколько потоков - поток, который стартовал раньше, займёт ВМ, а второй поток выбросит ошибку.
1. Выбор виртуальной машины
Прежде всего нужно выбрать ВМ, с которой будет работать текущий поток. Сделать это можно с помощью действия Выбрать в экшене Действия с виртуальной машиной.
Как правильно выбирать ВМ
В ProjectMaker выбирать ВМ не обязательно (но можно), т.к. программа работает с ВМ, которая выставлена по умолчанию (её можно изменить в настройках).
Самым простым вариантом будет случайный выбор ВМ.
Для этого в настройках действия Выбрать необходимо оставить пустым поле “Полное название или индекс”. А в полях для имени и индекса нужно указать переменные, куда сохранятся соответствующие данные.
При таком подходе ZennoDroid ищет среди всех доступных виртуальных машин, которые в данный момент не заняты.
Виртуальная машина, которая в настройках выбрана по умолчанию всегда считается занятой и ZennoDroid, при случайном выборе, будет её пропускать.
Если при работе в ProjectMaker Вы переключитесь (через экшен) на другую ВМ, то эта выбранная ВМ будет считаться машиной по умолчанию и теперь уже она будет игнорироваться.
2. Запуск виртуальной машины
После того, как ВМ была выбрана, её нужно запустить. Для этого используется действие Запустить\Перезапустить из экшена Действия с виртуальной машиной.