How to connect a virtual device to ADB in Genymotion SaaS?

2025-07-31

This tutorial will guide you on how to connect a running virtual device to ADB in Genymotion SaaS.

This guide notes that you must use the gmsaas CLI, because it is not possible to connect an instance to ADB with its IP.

Requirements

Step 1 – Create an API token

An API token is necessary to authenticate gmsaas.

To generate a token, please follow these steps:

Step 2 – Install and configure gmsaas CLI

Before proceeding to this step, make sure that Python 3.8+ and pip3 20.9+ are installed on your workstation.

Also, it is highly recommended to use a virtual Python environment.

You can follow this tutorial for detailed instructions.

Install gmsaas

In a terminal or command shell, run this command:

pip3 install gmsaas

This will install gmsaas with all its dependencies.

For more details about gmsaas installation, please refer to gmsaas on-line user manual.

Authenticate

You need to authenticate gmsaas with the API token you generated in Step 1:

gmsaas auth token <token>  # replace <token> with your API token.

Configure gmsaas

Next, you need to configure the path to your Android SDK, where ADB is stored:

gmsaas config set android-sdk-path <sdk_path>

Replace <sdk-path> with the path to your Android SDK installation directory, similar to the ANDROID_SDK_ROOT or the deprecated ANDROID_HOME environment variables.

gmsaas does not support relative paths, such as sdktools/ or ./sdktools.

Verify

Check that gmsaas is properly setup with the

gmsaas doctor

Step 3 – Connect the device to ADB

Launch your device and copy its UUID: Genymotion SaaS Virtual Devices dashboard or use the gmsaas instances list command to get the UUID:

$ gmsaas instances list
UUID NAME ADB SERIAL STATE
------------------------------------ ---------------- ------------ -------
a8d382f9-633f-437f-bbcd-8907678071d4 Android 16 - JMA 0.0.0.0 BOOTING

Then run the following command:

gmsaas instances adbconnect <instance_uuid>  # replace <instance_uuid> with the UUID of the running device.

For example:

gmsaas instances adbconnect d1a6ffae-fd8d-4a37-bac4-0f185757f22c

The <instance_uuid> argument is now optional. If omitted, the command connects the single ONLINE instance. An error is raised if zero or more than one instance is ONLINE.

Your device should then be connected to adb. You can verify with the adb devices command.

$ adb devices
List of devices attached
localhost:44615  device

And that’s it! You can now pass adb commands to your virtual device.