Genymotion Documentation

website·Indexed 39 days ago

https://docs.genymotion.com/

Documentation for Genymotion's Android emulation solutions, including Genymotion SaaS, PaaS, and Desktop. Includes guides on virtual device management, emulated features like biometrics and motion sensors, and developer tools such as the gmsaas CLI, GMTool, and Platform HTTP APIs.

Tokens
40.1K
Snippets
135
Records
403
Agent score
66%

What's inside Genymotion

  1. Overview of Genymotion Android Emulator

    Genymotion is an Android emulator providing a virtual Android environment with a complete set of sensors and features. It allows developers to develop and test applications across a wide range of virtual devices (from Android 5.0 to the latest versions), create custom virtual devices, and simulate real device features using sensor widgets. Genymotion is available in three primary deployment models: Desktop (local PC/Mac), SaaS (Cloud), and PaaS (Cloud platforms for automated scaling and CI/CD).
  2. Overview of External Storage for Genymotion PaaS

    Genymotion PaaS allows the migration of an instance's /data partition via external disks. When an external disk is attached, the Android OS uses it as the internal storage (/data partition), ignoring the primary disk's /data partition. This enables the migration of applications and settings between instances, provided both instances run the same Android version. This feature requires Genymotion version 10.0.0+ and Android 7.0+.
  3. Overview of Genymotion SaaS Platform HTTP API

    The Genymotion SaaS Platform HTTP API allows developers to programmatically manage their virtual devices. Key capabilities include listing available device recipes, starting and stopping virtual devices, and listing all currently running virtual devices.
  4. Select Alibaba Cloud instance types for Genymotion PaaS

    Select an instance type that matches your image architecture (x86 or arm64) and performance needs. For storage, a minimum of 40GiB is required; Ultra Disk is the default and most cost-effective, while SSD Cloud Disk is preferred for low latency.
    UsageARM64x86_64
    Basic (Automation, monitoring, testing, no GUI)ecs.c6r.largeecs.s2.small
    Low-profile (Basic interactions, no video/games)ecs.g6r.largeecs.s2.large
    Standard (Common usage, low-res video, 2D games)ecs.c6r.xlargeecs.s3.large
    Professional (Better performance, basic video, 2D games)ecs.g6r.xlargeecs.m1.medium
    High-end (High-res video, 3D games)ecs.c6r.2xlargeecs.c1.large
  5. Deploy Genymotion PaaS on AWS

    Genymotion PaaS can be deployed on AWS via the Marketplace or the EC2 console.

    Deployment Steps:

    1. Select the desired Android OS version and architecture (x86_64 or arm64).
    2. Choose an instance type based on the performance requirements (see instance type reference).
    3. Configure a Security Group. It is recommended to create a new group based on seller settings rather than using the default group to ensure proper firewall rules.
    4. Assign a Key Pair for SSH access.
    5. Ensure 'Auto-assign Public IP' is configured correctly to manage external access.

    Instances typically take up to two minutes to become accessible via a web browser after launching.

  6. Select Genymotion PaaS instance types by use case

    Choose an instance type based on the required Android environment performance and the CPU architecture (ARM64 or x86_64).

    Constraints & Recommendations:

    • c6g.medium (ARM64) is incompatible with Android 10+ images.
    • t2 and m4 (x86_64) instance types are not suitable.
    • c6g is generally recommended over m6g for ARM64 as they require less RAM due to the lack of a translation layer.
    UsageARM64x86_64
    Basic (Automation, monitoring, testing, no GUI)t4g.smallt3.small
    Low-profile (Basic interactions, no video/gaming)t4g.mediumt3.medium
    Standard (Common usage, low-res video, 2D games)c6g.largem5.large
    Professional (Better performance, basic video, 2D games)c6g.xlargem5.xlarge
    High-end (High-res video, 3D games)c6g.2xlargem5.2xlarge
  7. Retrieve details for a specific instance

    Get detailed information about a Genymotion instance using its UUID. The output is provided as a table by default, but can be requested as JSON using the --format json flag. The output includes the instance state and the ADB serial if connected.
    gmsaas instances get <instance_uuid>
    
    # Example with JSON output
    gmsaas --format json instances get 5a4d74e6-e6b2-4dd3-8d6c-1eea275b5ea7
  8. Retrieve details for a specific Recipe

    Get detailed information about a recipe using its UUID. The output includes hardware profile details (CPU, RAM, display settings) and OS image details (Android version, API level, architecture).
    gmsaas recipes get <recipe_uuid>
    
    # Example
    gmsaas recipes get 6bc927c9-777e-471c-af5b-6dc737f3aaef
  9. Deploy ARM64 applications to virtual devices

    x86 and x86_64 images are deprecated. Many modern applications (especially games) require ARM64 architecture and will not install or run on x86_64 images. To deploy these apps, you must use an official recipe or create a custom recipe based on an arm64 image.
  10. Embed Genymotion SaaS or PaaS instances into a web page

    To embed a Genymotion SaaS or Genymotion PaaS instance into a custom web page, use the open-source Genymotion device web player JavaScript SDK. This SDK allows developers to integrate the device player directly into their own web applications.
    # The SDK is available on GitHub:
    https://github.com/Genymobile/genymotion-device-web-player
  11. Select Azure instance size for Genymotion PaaS

    Choose an Azure instance size based on the required Android environment performance and the CPU architecture (ARM64 or x86_64).
    UsageARM64x86_64
    Basic Android environment (Automation, monitoring, testing, no graphical interactions)Standard_D2ps_v5Standard_B2s
    Low-profile Android environment (Basic interactions, not suitable for video/games)Standard_D2ps_v5Standard_B2s
    Standard Android environment (Common usage, low-res video or 2D games)Standard_D4ps_v5Standard_D2s_v5
    Professional Android environment (Better performance for video/2D games)Standard_D8ps_v5Standard_D4s_v5
    High-end Android environment (High-res Video streaming, 3D games)Standard_D16ps_v5Standard_D8s_v5
  12. Emulate Android hardware controls in Genymotion

    The Android Controls widget allows you to emulate hardware-level interactions on a virtual device, including the Directional pad, Volume controls, Call functions, and Media controls. This feature is available for Genymotion Desktop and Genymotion SaaS (via the Cloud devices dashboard), but is currently not supported on Genymotion PaaS.