# Emulating sensors and features

To simulate various behaviors of your application according to specific use cases, Genymotion Desktop provides easy-to-use widgets which emulate the following sensors and features:

# OpenGApps

DISCLAIMER

GENYMOBILE SAS assumes no liability whatsoever resulting from the download, install and use of Google Play Services within your virtual devices. You are solely responsible for the use and assume all liability related thereto. Moreover, GENYMOBILE SAS disclaims any warranties of any kind, either express or implied, including, without limitation, implied warranties of merchantability, or fitness for a particular purpose regarding the compatibility of the Open GApps packages with any version of Genymotion. In no event shall GENYMOBILE SAS or its affiliates, or their respective officers, directors, employees, or agents be liable with respect to your download or use of the Google Play Services and you release GENYMOBILE SAS from any liability related thereto. You agree to defend, indemnify and hold harmless GENYMOBILE SAS for any claims or costs related to your use or download of the Google Play Services.

The application you are developing or testing may require an interaction with Google Play Services (e.g.: in-app purchasing, advertising, etc.). The Open GApps widget allows you to install a minimum package of those services, also containing an application store.

WARNING

Your virtual device must run Android 4.4 and above.

TIP

If you wish to install applications with native ARM code from Google Play Store, you have to install the ARM translation tool before the OpenGApps package (see Deploying an application - Applications with ARM code).

To install the OpenGApps package:

  1. Click OpenGApps. At the end of the installation, you are redirected to the OpenGApps website.
  2. Reboot the virtual device when prompted.
  3. (Optional) Open the Play Store and configure your account.

# Alternative method from the OpenGApps website

You can install OpenGApps directly from their website.

  1. Visit opengapps.org.
  2. Select platform x86.
  3. Select the Android version corresponding to your virtual device.
  4. Select pico.
  5. Download the selected OpenGApps package.
  6. Drag and drop the installer in the new Genymotion virtual device.
  7. Follow the installation instructions.

# Alternative method using ADB

You can install OpenGApps in command line using ADB. In this case:

  1. Visit opengapps.org.
  2. Select platform x86.
  3. Select the Android version corresponding to your virtual device.
  4. Select pico.
  5. Download the selected OpenGApps package.
  6. Copy the archive to the virtual device using adb push archive.zip /sdcard/Download/archive.zip.
  7. Flash the archive using adb shell /system/bin/flash-archive.sh /sdcard/Download/archive.zip.
  8. Reboot your instance using adb reboot.

# Battery

The Battery widget allows you to test how your application reacts with different battery charge levels and states of charge. To use the Battery widget:

  1. Click Battery.
  2. Modify the charge level using the slider or enter a value in the Charge level field.
  3. Modify the state of charge by checking the State of charge box:
    • Check to activate the Charging state. This simulates that the power supply is plugged in and the battery is charging.
    • Uncheck to activate the Discharging state. This simulates that the power supply is unplugged and the battery is discharging.

# GPS

To use the GPS widget:

  1. Click GPS.
  2. Set the latitude value you wish to simulate using the Latitude field. The latitude value must range from -90° to 90°.
  3. Set the longitude value you wish to simulate using the Longitude field. The longitude value must range from -180° to 180°.
  4. Set the altitude value you wish to simulate using the Altitude field. The altitude value must range from -10000m to 10000m.
  5. Set an accuracy value using the slider or by entering a value in the Accuracy field. The accuracy value must range from 0m to 200m.
  6. Set a bearing value using the compass or by entering a value in the Bearing field. The bearing value must range from 0° to 359.99°.

TIP

Many applications do not rely on the GPS orientation, but use the device accelerometer or gyroscope to determine the bearing of the device. This is not emulated yet, but you can use the remote control widget to use a real device with accelerometer and/or gyroscope. Please refer to Remote Control section.

You can also define a location using the Map button.

# Camera

The Camera widget allows you to send a video stream to the virtual device cameras. With this widget, you can test an Android application that uses an Android built-in camera. The video stream comes from a real physical webcam connected or integrated into your computer.
To use the Camera widget, click Webcam.

# Capture

The Capture widget allows you to take a screenshot or screencast of virtual devices. This way, you can share images or videos of your applications.
To take a screenshot of your virtual device, click Screenshot active and screenshot.
To take a screencast of your virtual device:

  1. Click Capture active.
  2. Click Record to start recording.
  3. Record your sequence.
  4. Click Capture inactive to stop recording.

# Remote control

With the Remote control widget Remote control widget button, you can take control of a virtual device from a physical device (any phone or tablet running Android version 2.2/API level 8/Froyo or above). This widget works with a specific Android application that runs on the physical device and forwards touch inputs and accelerometer events to Genymotion Desktop. As a result, you can test your application as if you were holding a device in your hands.

The Remote control widget requires to have ADB installed on your computer. For more information, please refer to section ADB

To use the Remote control widget:

  1. Connect your physical device either by wire or with Wi-Fi. To connect with Wi-Fi, your physical device must support ADB over network. If so:
    1. On your physical device, go to Menu → System settings → Developer options.

      TIP

      If you have not unlocked this menu yet, go to Menu → System settings → About and click several times on Build number until you get a message meaning that Developer options are now available.

    2. Check Android debugging and then ADB over network.
    3. Connect your physical device to the Wi-Fi and retrieve its IP address from the Wi-Fi menu.
    4. Open a command prompt and enter <path to ADB>\connect <IP>.
  2. Click Remote control widget button.
  3. Activate the widget by clicking On. Genymotion Desktop tries to detect any connected Android device.
  4. Select your device from the Available devices drop-down list and click Start.

    TIP

    If the device is connected to ADB and not visible in the list, restart the widget.

  5. Check the desired options:
    • Enable preview: enables previewing your Genymotion Desktop screen on your physical device.
    • Enable touch screen: allows your physical device to send touch events to Genymotion Desktop.
    • Enable accelerometer: allows your physical device to send accelerometer events to Genymotion Desktop.

The Remote control widget automatically stops when you disconnect your device.

# Identifiers

The Identifiers widget ID widget shows Device ID and Android ID numbers. You can view and edit these values at any time, without having to reboot your virtual device.

# Android ID

An Android ID is a 64-bit number randomly generated when the user first sets up the device. It remains the same for the whole lifetime of the user's device. Android 4.2.2 and greater versions support multiple user accounts, each one having a unique Android ID. When clicking Random button, a random Android identifier is generated. Valid Android ID numbers are 16-hexadecimal digits long.

WARNING

You are not allowed to set an empty Android ID.

WARNING

On Android 8.0 and above, the Android ID has a different value for each application on the device. This is not the case in Genymotion: the Android ID remains the same for all applications.

# Device ID / IMEI / MEID

By default, a new virtual device is deployed with the default device ID number 000000000000000. When clicking Random button, a random identifier is generated. As IMEI or MEID numbers are used as device ID, Genymotion Desktop generates numbers compliant with the GSM 02.16 standard and the 3GPP2 specification (14 digits or hexadecimal digits + a checksum digit). Valid characters for setting device ID/IMEI/MEID are:

  • lower-case and upper-case letters [a-z, A-Z]
  • digits [0-9]
  • dots [ . ], dashes [ - ] and underscores [ _ ]

# Disk I/O

The Disk I/O widget allows you to emulate devices with slow internal storage. It can be very handy if your app requires reading large amount of data from the disk such as gallery apps that load locally stored images or games that load large assets.

To simulate high or poor disk performance:

  1. Click Disk IO.
  2. From Profile, select a type of device:
    • High-end device: Read speed limit 200MiB per second.
    • Mid-range device: Read speed limit 100MiB per second.
    • Low-end device: Read speed limit 50MiB per second.
    • Custom device: enter the read speed limit you wish to emulate in MiB.
  3. Click Update.

TIP

When switching from a device profile to another, the disk cache is automatically cleared. You can force clearing the cache by clicking Clear Cache.

# Network

The Network widget Network widget button allows you to test how your application reacts with different network quality and performance types.

To use the Network widget:

  1. Click Network widget button.

  2. Activate the network simulation by clicking On.

  3. Select a network profile from the Profile drop-down list.

    TIP

    When activating the widget for the first time, the profile network is automatically set to Wifi . It then takes the last network profile used.

Upload speed Download speed Upload delay Download delay Upload packet loss Download packet loss DNS delay
No data 0Kb/s 0Kb/s 0ms 0ms 100% 100%
GPRS 40Kb/s 40Kb/s 500ms 500ms 0.01% 0.01%
Edge 200Kb/s 240Kb/s 400ms 400ms 0.01% 0.01%
3G 1.5Mb/s 7.2Mb/s 100ms 100ms 0.01% 0.01%
4G 5.5Mb/s 17.9Mb/s 50ms 50ms 0.01% 0.01%
4G
(high DNS delay)
5.5Mb/s 17.9Mb/s 50ms 50ms 0.01% 0.01%
4G
(high packet losses)
5.5Mb/s 17.9Mb/s 50ms 50ms 10% 10%
Wifi 33.0Mb/s 40.0Mb/s 0ms 0ms 0% 0%

# Phone

The Phone widget allows you to test applications relying on telephony features and observe their behavior when receiving a call or a text message. To use the Phone widget, click Text and call.

To simulate an incoming call:

  1. Enter an incoming phone number.
  2. Click Call.

To simulate an incoming message:

  1. Enter an incoming phone number.
  2. Enter a text message.
  3. Click Send message.

The text message is displayed in the virtual device via a notification and can also be read in the Messaging application.

# App Sharing

The App sharing feature allows you to share an application with other users via Genymotion Cloud SaaS so they can have access to the application within a web browser. As the shared application is being made accessible via a virtual machine running in Genymotion Cloud SaaS, designers, sales representatives or any stakeholders not having Genymotion Desktop Software installed on their workstation are able to see the application being developed or tested in order to give their feedback.

To share an application, you must have previously installed it in a virtual device of Genymotion Desktop. Please refer to Deploying an Application for details.

Then:

  1. From your virtual device, click App Sharing.
  2. In Users, enter the e-mail addresses of the users with whom you wish to share the application.
  3. (Optional) In the Message field, add the message of your choice to give information to the users about the purpose of the shared application.
  4. Click Share.

This uploads the application and makes it available to the users you have specified. In the meantime, a notification e-mail is sent to them. They can access the shared application via that e-mail or by signing in directly to Genymotion Cloud SaaS.

WARNING

An application shared from Genymotion Desktop software to multiple users is not shared among all receivers but instead cloned individually into virtual devices with said application running in Genymotion Cloud SaaS for each one of the receivers.

# Sound Control

You can control the volume of the sound emitted by your virtual device by clicking Volume up or Volume down.

# Rotate Screen

You can rotate the screen of your virtual device by clicking Rotate.

# Pixel Perfect

With Pixel Perfect, you can be highly precise in the development of your user interface and ensure every pixel of your application really looks as it should. One pixel of the virtual device is displayed using one pixel of your computer screen.

Click Pixel Perfect button once to enable Pixel Perfect. Click again to disable it.

WARNING

If the virtual device screen size is larger than your computer screen size, the virtual device window will be maximized and you will be able to use scrollbars to move inside the screen.

  • Recent Apps widget Recent Apps: brings the Android Recents Screen which lists recently accessed activities and tasks.
  • Home widget Home: emulates the Home button of a real device. Navigate to Android Home page.
  • Back widget Back: emulates the Back button of a real device.

# Power

The Power Widget Power simulates a real device power button. Left click on the widget to put the virtual device to sleep or long left-click to simulate a power button hold (reset or power off, depending on Android version).