Skip to main content

Choosing and Starting a Virtual Machine


Let's go over how to properly choose and start a virtual machine when working with Zennodroid.


How Virtual Machines Work in ZD

If you don't specify a name or index in the Choose action, ZennoDroid will always pick a random virtual machine that's not busy at the moment. If you set a specific VM, you can avoid cases where different threads pick the same one at the same time.

Example:

A virtual machine named Memu_1 is available, and there are two projects: Project1 and Project2, both working with it. Project1 starts first and grabs Memu_1. Then Project2 starts and will wait 60 seconds. If the VM doesn't free up, the project will fail with an error. But if the first project lets go before those 60 seconds are up, the second will grab it.

The same rule works within a single project that uses multiple threads. If you specify just one machine, the thread that starts first takes it, and the rest will get an error.


Choosing a Virtual Machine

Choosing First, you need to choose a VM for your current thread. Do this with the Choose action shown in the screenshot above.


How to Choose a VM Correctly

The simplest option is random selection. To do this, leave the "Full name or index" field blank in the Choose action settings. In the name and index fields below, enter variables they'll be saved to.

With this approach, ZennoDroid will look for available VMs that aren't busy right now.

Important

The virtual machine set as default in Settings always counts as busy and will be skipped during random selection.


Starting a Virtual Machine

Starting Once you've chosen a VM, you need to start it. Use the Start\Restart action for that.