Skip to content

Get Started with Genymotion PaaS

PaaS logo PaaS logo light

Genymotion PaaS is our solution to run Genymotion on Cloud platforms. It is currently available on:

  • Amazon Web Services (AWS)
  • Google Cloud Platform (GCP)
  • Alibaba Cloud (Alibaba)
  • Microsoft Azure (Azure)

Requirements

Genymotion PaaS has been tested on the following browsers:

Browser Min. Version
Google Chrome 85
Mozilla Firefox 78
Microsoft Edge 20.10240
Safari* 11
Opera 70

* The device display may not appear with Safari 18 and higher. Mac users should use Google Chrome instead.

Network security settings

To enable communication from your host(s) to your instance, you need to set or update your security groups/firewall to allow inbound connections from your local network (inbound).

You can use the following inbound rules to allow access with balanced security:

Service Protocol Port(s) Source Destination
HTTPS/WSS TCP 443 Any / Authorized hosts Any
HTTP TCP 80 Any / Authorized hosts Any
ADB* TCP 5555 Authorized hosts only! Any
SSH TCP 22 Authorized hosts only! Any
WebRTC (TCP)** TCP 51000-51100 Any / Authorized hosts Any
WebRTC (UDP)** UDP 51000-51100 Any / Authorized hosts Any

*ADB connections are neither secured nor authenticated; you should ONLY allow this port to authorized sources! If you wish a safer way to connect a device to ADB, you can use an SSH tunnel instead of allowing TCP port 5555.

**Allowing WebRTC is optional, but recommended for better performance.

Get Started

Available Android Images

Genymotion PaaS is available for all regions, except China.

Data is encrypted using Android encryption on Android 8.0 images and above. There is no data encryption with Android 5.1, 6.0 and 7.0 images.

We offer ARM64 and x86_64 images with the following Android versions:

  • 16.0 (beta)
  • 15.0
  • 14.0 Automotive OS (beta)
  • 14.0
  • 13.0
  • 12.1
  • 12.0
  • 11.0
  • 10.0
  • 9.0 Pie
  • 8.0 Oreo
  • 7.0 Nougat
  • 11.0
  • 10.0
  • 9.0 Pie
  • 8.1 Oreo
  • 8.0 Oreo
  • 6.0 Marshmallow
  • 5.1 Lollipop

We offer ARM64 and x86_64 images with the following Android versions:

  • 16.0 (beta)
  • 15.0
  • 14.0
  • 13.0
  • 12.1
  • 12.0
  • 11.0
  • 10.0
  • 9.0 Pie
  • 8.1 Oreo
  • 8.0 Oreo
  • 7.0 Nougat
  • 6.0 Marshmallow
  • 5.1 Lollipop

We offer ARM64 and x86_64 images with the following Android versions:

  • 16.0 (beta)
  • 15.0
  • 14.0
  • 13.0
  • 12.1
  • 12.0
  • 11.0
  • 10.0
  • 9.0 Pie
  • 8.0 Oreo
  • 7.0 Nougat
  • 11.0

We offer ARM64 and x86_64 images for the following Android versions:

  • 16.0 (beta)
  • 15.0
  • 14.0 Automotive OS (beta)
  • 14.0
  • 13.0
  • 12.1
  • 12.0
  • 11.0
  • 10.0
  • 9.0 Pie
  • 8.1 Oreo
  • 8.0 Oreo
  • 7.0 Nougat
  • 6.0 Marshmallow
  • 5.1 Lollipop

Create and launch an instance

  1. Go to AWS Marketplace
  2. Select the version of Android OS and architecture (x86_64 or arm64) for your Genymotion instance.
  3. In the EC2 Instance Type section, select an instance corresponding to your needs. You can refer to the table below to know which instance to select depending on the architecture and your use case:

    c6g.medium arm instance type is incompatible and not available for Android 10+ images.

    c6g is recommended over m6g because ARM64 instances need less RAM than x86_64 ones, since there is no translation layer.

    Usage ARM64 x86_64
    Basic Android environment
    Automation, monitoring, testing, no graphical interactions
    t4g.small t3.small
    Low-profile Android environment
    Basic interactions, not suitable for video streaming or gaming
    t4g.medium t3.medium
    Standard Android environment
    Common usage, suitable for low-res video streaming or 2D games
    c6g.large m5.large
    Professional Android environment
    Better performance for basic video streaming and 2D games
    c6g.xlarge m5.xlarge
    High-end Android environment
    High-res Video streaming, 3D games
    c6g.2xlarge m5.2xlarge
  4. Click Continue to Subscribe. Review your choices and accept terms, then click Continue to Configuration.

  5. Review the basic configuration and click Continue to Launch.
  6. EC2 Instance Type: select an instance type in accordance to your choice when subscribing (see step 4).
  7. Security Group: create a new security group (Create New Based On Seller Settings) if you need specific EC2 security/firewall settings. To help you choose the best settings for you, please refer to the Requirements.

    It is not recommended to use the default security group.

    The EC2 Auto-assign Public IP feature is enabled by default. Make sure to setup your EC2 security group correctly to avoid any unauthorized connections to your instance.

  8. In Key Pair Settings, you can select a key pair if you have already created some, or create a new one. This is recommended if you need to access the instance with SSH.

Once the initial setup is done, the instance automatically starts. It can take up to two minutes before the instance can be accessed through the web browser.

  1. In the EC2 Dashboard, click Launch instance and select Launch instance

    Launch instance

  2. Give a name to your instance in the Name and tags field:

    Name

  3. In Application and OS images (Amazon Machine Image), type "Genymotion" in the search bar and press return:

    AMI

  4. Select AWS Marketplace AMIs and choose the Genymotion image you wish to subscribe to:

    Marketplace

  5. Review the product pricing and conditions of use, and click Continue

  6. Select the instance best suited to your need with the instance type drop-down button. Recommended types are:

    The t2 and m4 x86_64 instance types are not suitable for Genymotion.

    c6g.medium arm instance type is incompatible and not available for Android 10+ images.

    Usage ARM64 x86_64
    Basic Android environment
    Automation, monitoring, testing, no graphical interactions
    t4g.small t3.small
    Low-profile Android environment
    Basic interactions, not suitable for video streaming or gaming
    t4g.medium t3.medium
    Standard Android environment
    Common usage, suitable for low-res video streaming or 2D games
    c6g.large m5.large
    Professional Android environment
    Better performance for basic video streaming and 2D games
    c6g.xlarge m5.xlarge
    High-end Android environment
    High-res Video streaming, 3D games
    c6g.2xlarge m5.2xlarge

    c6g is recommended over m6g because ARM64 instances need less RAM than x86_64 ones, since there is no translation layer.

  7. If you already have an SSH key pair, you can use the drop-down button in the Key pair (login) section to associate the pair with the instance, or create a new key pair.

  8. In Network settings, you can either create a new security group (default), or use already existing groups.

    • If you choose to create a new security group, make sure to add and setup rules required to your needs. For recommended security settings, please refer to Requirements.
    • To choose an already existing group, click Edit in the upper-right corner of the section:

      network

    The EC2 Auto-assign Public IP feature is enabled by default. Make sure to setup your EC2 security group correctly to avoid any unauthorized connections to your instance.

  9. In Configure storage, you can change the internal storage size and type, or add external storage.

Advanced details

You can adjust advanced settings in this section, but we do not recommend altering them unless you are an experienced AWS user.

Click Launch instance when you are set to create and launch the new instance.

  1. Go to Google Cloud Platform marketplace.
  2. Select the version of Android OS for your Genymotion instance.
  3. Click Launch:

    GCP Step 1

You will then be redirected to the configuration page:

GCP Step 2

You may want or need to change a few settings before deploying the instance. Also, any incoming connection from outside the virtual network will be blocked - to connect to from the Internet, you need to set firewall tags before deploying the new instance.

  • Deployment name: The name of the virtual device. You can change it to your liking.
  • Zone: Select your geographical area. The zone determines what computing resources are available and where your data is stored and used.
  • Machine type: Select the machine type from the drop-down list or by clicking Customize. We recommend the following types depending on your usage:

    Usage ARM64 x86_64
    Basic Android environment
    Automation, monitoring, testing, no graphical interactions
    t2a-standard-2 e2-small
    Low-profile Android environment
    Basic interactions, not suitable for video streaming or games
    t2a-standard-2 e2-medium
    Standard Android environment
    Common usage, suitable for low-res video streaming or 2D games
    c3a-standard-4 n2-standard-2
    Professional Android environment
    Better performance for basic video streaming and 2D games
    c3a-standard-8 n2-standard-4
    High-end Android environment
    High-res Video streaming, 3D games
    c3a-standard-16 n2-standard-8
  • Boot Disk: Select the boot disk type and Storage space.

    An SSD persistent disk is better for random IOPS or streaming throughput with low latency. Persistent disk performance is tied to the size of the persistent disk volume. You are charged for the actual amount of provisioned disk space.

In the Firewall/Networking section, you can change the following settings:

  • Network interfaces: Click on the default network interface to change the Network, Subnetwork and External IP to be used by the instance. This assigns the instance an IPv4 address from the subnetwork range. Instances in different subnetworks can communicate with each other using their internal IPs as long as they belong to the same network.

    The External IP allows the instance to communicate outside of the virtual network. Selecting "None" will result in the instance having no external Internet access.

  • Firewall: Add firewall tags (rules) to allow specific network traffic from the Internet. For recommended firewall rules, please refer to Requirements.

  • IP forwarding: Enable or Disable IP forwarding. This allows the instance to help route packets.

When done, click Deploy.

Select your image and subscription plan:

  1. Go to Alibaba Cloud Marketplace
  2. Select an image (Android version + architecture) for your Genymotion instance.
  3. Click Choose Your plan and proceed to select your subscription plan.

Setup your instance:

  1. In Elastic Compute Service select the Custom Launch selection:

    General settings

  2. In Billing Method, select Pay-As-You-Go.

  3. In Region, select your geographical area. The zone determines what computing resources are available and where your data is stored and used.
  4. In Network and zone, select a VPC and a vSwitch.

In the Instance section, you need to select the Instance type that matches your image architecture (x86 or arm64) and your need:

Instance section

We recommend the following instance types depending on your usage:

Usage ARM64 x86_64
Basic Android environment
Automation, monitoring, testing, no graphical interactions
ecs.c6r.large ecs.s2.small
Low-profile Android environment
Basic interactions, not suitable for video streaming or games
ecs.g6r.large ecs.s2.large
Standard Android environment
Common usage, suitable for low-res video streaming or 2D games
ecs.c6r.xlarge ecs.s3.large
Professional Android environment
Better performance for basic video streaming and 2D games
ecs.g6r.xlarge ecs.m1.medium
High-end Android environment
High-res Video streaming, 3D games
ecs.c6r.2xlarge ecs.c1.large

Available instance types may change depending on the region!

In the Image section, make sure that Marketplace Image is selected:

Image section

Setup the storage:

Alibaba Step 3

In the Storage section, select the System Disk type and size (default: Ultra Disk). Minimum is 40GiB.

Note

  • Storage space is less expensive with Ultra Disk (default).
  • SSD Cloud Disk is better for random IOPS or streaming throughput with low latency.

It is unnecessary to add a Data Disk, because it won't be used in the instance.

Bandwidths & Security Groups:

Brandwidths & Security Groups section

In the Public IP Address section, check Assign Public IPv4 Address to assign a public IP to your instance. Please note that without a public IP, your instance will not be reachable outside of Alicloud VPC!

In Secrity Group, select the custom Security Group you want to use. If you already have Security Groups, click Select Security Group.

Otherwise, select the New Security Group tab to create a new group. You can create a Basic Security Group with SSH, HTTPS and HTTP for basic access. Or you can use an Advanced Security Group for more refined security settings.

You can only add basic access (SSH, HTTPS, HTTP) at this point. You may need to edit your security Group later to refine your security or add more rules, such as ADB access

For details about security settings, please refer to Requirements - Network security settings.

Management:

Management section

In the Management section, you can set or create a key pair to access the instance via SSH. For more details about SSH access, please refer to Accessing an instance with SSH.

You can select Set Later to set the key pair later.

Do not use ecs-user as login username.

Finally, create and launch your instance:

Read Alibaba ECS Terms of Service and the Terms of Service carefully, check ECS Terms of Service | Terms of Service and click Create Order to get started.

You will be prompted when your instance is ready:

Instance creation confirmation

Once the initial setup is done, the instance automatically starts. It can take up to two minutes before the instance can be accessed through the web browser.

  1. Go to MS Azure marketplace:

    Genymotion on marketplace

    For an overview of the available software plans, go to the Plans + Pricing tab.

  2. Click Get It Now and select a software plan and an Android image version.

  3. Click Continue, review your selection and click Create:

    Create new VM

  4. In the Basics section, fill in the appropriate information:

    • Subscription: Only pay-as-you-go is available at the moment.
    • Resource group: Select a resource group. If you don't have any, you need to create a new one.
    • Virtual machine name: Set a name to your virtual machine.
    • Region: Select a region. Choose a region similar or close to your own location for best results.
    • Availability options: Please refer to Availability options in Azure.
    • Image: This is the Genymotion Device image which corresponds to the plan you chose.
    • Azure spot instance: Please refer to Azure spot instance overview. Default is No.
    • Size: This is the instance type (CPU architecture, number of virtual CPUs, RAM) of your virtual machine. We recommend the following sizes depending on your usage:

      Usage ARM64 x86_64
      Basic Android environment
      Automation, monitoring, testing, no graphical interactions
      Standard_D2ps_v5 Standard_B2s
      Low-profile Android environment
      Basic interactions, not suitable for video streaming or games
      Standard_D2ps_v5 Standard_B2s
      Standard Android environment
      Common usage, suitable for low-res video streaming or 2D games
      Standard_D4ps_v5 Standard_D2s_v5
      Professional Android environment
      Better performance for basic video streaming and 2D games
      Standard_D8ps_v5 Standard_D4s_v5
      High-end Android environment
      High-res Video streaming, 3D games
      Standard_D16ps_v5 Standard_D8s_v5
    • Authentication type: This is the type of authentication to connect remotely to the virtual machine. Select SSH public key to access the instance with SSH.

    • Username: Set the username to shell in order to access the virtual device with SSH.
    • SSH public key source: Generate a new key pair, use existing key pair in Azure or use existing public key. See Accessing instances with SSH for more details.
  5. Click Next : Disks. In this section, you can change the virtual machine main storage and/or add more storage disks.

  6. Click Next : Networking. There, you need to setup your VM network:

    • Virtual Network: This is the VM internal (private) network. You need to select an existing virtual network or create a new one.
    • Subnetwork: This is the VM virtual network subnetwork. This can be used to isolate a VM from the others or set several VMs in the same virtual network.
    • Public IP: Sets a public IP to communicate inbound and outbound (without network address translation (NAT)) with the Internet and other Azure resources not connected to a virtual network.
    • NIC network security group: Select Advanced to enable the Configure network security groups option.
    • Configure network security groups: These are lists of Access Control List (ACL) rules that allow or deny network traffic to subnets, network interfaces, or both.
    • Load balancing: You can place your virtual machine in the backend pool of an existing Azure load balancing solution.
  7. Click Next : Management. This section is related to monitoring and management options for your VM.​ Change the settings according to your needs.

  8. Click Next : Advanced. These are specific options for advanced users. We are not going to detail them here.
  9. Click Next : tags and set tags to your VM to your liking.
  10. Finally, click Next : Review + create: your selections will be reviewed and your VM validated. Once validation is complete, click on Create to create the VM.

When finished, your new VM will be deployed and started. It will be available in your Dashboard, in the All resources section or in the Virtual machines section:

Virtual Machines dashboard

Firewall/EC2 security groups

For recommended security settings, please refer to Requirements.

Ports access is configured in a security group that contains all the firewall rules. To edit those rules:

  1. Go to Network & Security > Security groups.
  2. Select the security group associated with your virtual device.
  3. From tabs Inbound or Outbound, click Edit.
  4. Edit rules according to your needs.

By default, all incoming traffic from outside a network is blocked. To access the instance from outside, you need to change or add a series of firewall rules:

  1. From GCP dashboard, go to VPC network > Firewall
  2. Add or edit your rules to match the Network Security Settings requirements.

ADB connections are neither secured nor authenticated; you should ONLY allow TCP port 5555 from authorized hosts!

Brandwidths & Security Groups section

In the Public IP Address section, check Assign Public IPv4 Address to assign a public IP to your instance. Please note that without a public IP, your instance will not be reachable outside of Alicloud VPC!

In Secrity Group, select the custom Security Group you want to use. If you already have Security Groups, click Select Security Group.

Otherwise, select the New Security Group tab to create a new group. You can create a Basic Security Group with SSH, HTTPS and HTTP for basic access. Or you can use an Advanced Security Group for more refined security settings.

You can only add basic access (SSH, HTTPS, HTTP) at this point. You may need to edit your security Group later to refine your security or add more rules, such as ADB access

For details about security settings, please refer to the Requirements section.

Ports access is configured in Network security groups (NSG). NSGs are usually defined during a virtual machine setup and Network Security Groups but can also be changed afterwards:

  1. Go to Network security groups.
  2. Select the NSG associated with your virtual machine (your_virtual_machine_name.nsg).
  3. Edit or add rules according to your needs and the required network settings in Inbound security rules and Outbound security rules.

Deployed resources

Once done, an instance with the following resources will be deployed and started:

  • AMI: The Genymotion Amazon Machine Image (AMI) you subscribed to. AMI Information contains the Genymotion and Android versions.
  • Security group: The EC2 security group of the instance.
  • Network interface: The EC2 network interface attached to the instance.
  • Storage: The Elastic Block Store (EBS) volume(s) attached to the instance.

User Data

  • User Data is located in the /data partition.
  • Data is encrypted using Android encryption with Android 8.0 images and above.

    There is no data encryption with Android 7.0, 6.0 and 5.1 images!