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

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

  • Python 3.8 or higher
  • pip3 20.9 or higher
  • Android SDK
  • gmsaas CLI

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:
    Screenshot showing the API token section in Genymotion SaaS portal.
  3. Click on the “Create” button. A popup will open:
    Screenshot showing the "Create a new API token" popup.
  4. Give an explicit description to your token, such as “gmsaas token”, and click “CREATE”. A new token will be generated and displayed:
    Screenshot showing the "Create a new API popup" with a generated API token.
  5. Click “COPY” to copy the token to your computer clipboard and save it somewhere.

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.

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

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:

Bash
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:

Bash
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:

Bash
gmsaas config set android-sdk-path <sdk_path>

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.

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

Verify

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

Bash
gmsaas doctor

Step 3 – Connect the device to ADB

Launch your device and copy its UUID:

Screenshot showing a running device with its instance UUID in Genymotion SaaS dashboard
Genymotion SaaS Virtual Devices dashboard

Note

You can also use the command gmsaas instances list to easily get your device UUID.

then run the following command:

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

For example:

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

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

Bash
$ adb devices
List of devices attached
localhost:44615	device

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

Table of Contents