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.

Please note that you will need to use gmsaas CLI, as 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:

1. Log in to your Genymotion SaaS portal. 2. Navigate to the “API” section. 3. Click on the “Create” button. A popup will open. 4. Give an explicit description to your token, such as “gmsaas token”, and click “CREATE”. A new token will be generated and displayed. 5. Click “COPY” to copy the token to your computer clipboard and save it somewhere.

When done, your new token will be displayed in the Your API Tokens section.

> Warning: > Once a token has been created, it will not be possible to view or copy its value again. Make sure to save it somewhere safe before closing the popup.

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

> Note: > 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.

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

Verify

Check that gmsaas is properly setup with the gmsaas doctor command:

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. For example:

$ adb devices
List of devices attached
localhost:44615	device

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