Extended controls, settings, and help

Use the extended controls on the Android Emulator to send data, change device properties, control apps, and more. To open the Extended controls window, click More Emulator extended controls icon in the emulator panel. Note that some of these extended control options are only available when you run the emulator in a separate window, outside of Android Studio.

You can use keyboard shortcuts to perform many of these tasks. For a complete list of shortcuts in the emulator, press F1 (Command+/ on macOS) to open the Help pane.

Table 1. Extended controls details

Feature Description
Location

The emulator lets you simulate "my location" information: where the emulated device is located. For example, if you click My Location My Location icon in Google Maps and then send a location, the map shows it.

Controls for the device's location information are organized under two tabs: Single points and Routes.

Single points

In the Single points tab, you can use the Google Maps webview to search for points of interest, just as you would when using Google Maps on a phone or in a browser. When you search for (or click) a location in the map, you can save the location by selecting Save point near the bottom of the map. All your saved locations are listed on the right side of the Extended controls window.

To set the emulator's location to the location you have selected on the map, click the Set location button near the bottom right of the Extended controls window.

Routes

Similar to the Single points tab, the Routes tab provides a Google Maps webview that you can use to create a route between two or more locations. To create and save a route, do the following:

  1. In the map view, use the text field to search for the first destination in your route.
  2. Select the location from the search results.
  3. Select the Navigate button.
  4. Select the starting point of your route from the map.
  5. (Optional) Click Add destination to add more stops to your route.
  6. Save your route by clicking Save route in the map view.
  7. Specify a name for the route and click Save.

To simulate the emulator following the route you saved, select the route from the list of Saved routes and click Play route near the bottom right of the Extended controls window. To stop the simulation, click Stop route.

To continuously simulate the emulator following the specified route, enable the switch next to Repeat playback. To change how quickly the emulator follows the specified route, select an option from the Playback speed menu.

Import GPX and KML data

To use geographic data from a GPS exchange format (GPX) or Keyhole Markup Language (KML) file:

  1. Click Load GPX/KML.
  2. In the file dialog, select a file on your computer and click Open.
  3. Optionally select a Speed.
  4. The speed defaults to the Delay value (Speed 1X). You can increase the speed by double (Speed 2X), triple (Speed 3X), and so on.

  5. Click Run Run icon.
Displays

The emulator allows you to deploy your app to multiple displays, which support customizable dimensions and can help you test apps that support multi-window and multi-display. While a virtual device is running, you can add up to two additional displays as follows:

  1. Add a display by clicking Add secondary display.
  2. From the menu under Secondary displays, do one of the following:
    1. Select one of the preset aspect ratios.
    2. Select custom and set the height, width, and dpi for your custom display.
  3. (Optional) Click Add secondary display again to add a third display.
  4. Click Apply changes to add the specified display(s) to the running virtual device.
Cellular

The emulator lets you simulate various network conditions. You can approximate the network speed for different network protocols, or you can specify Full, which transfers data as quickly as your computer allows. Specifying a network protocol is always slower than Full. You can also specify the voice and data network status, such as roaming. The defaults are set in the AVD.

Select a Network type:

  • GSM: Global System for Mobile Communications
  • HSCSD: High-Speed Circuit-Switched Data
  • GPRS: Generic Packet Radio Service
  • EDGE: Enhanced Data rates for GSM Evolution
  • UMTS: Universal Mobile Telecommunications System
  • HSPDA: High-Speed Downlink Packet Access
  • LTE: Long-Term Evolution
  • Full (default): Use the network as provided by your computer

Select a Signal strength:

  • None
  • Poor
  • Moderate (default)
  • Good
  • Great

Select a Voice status, Data status, or both:

  • Home (default)
  • Roaming
  • Searching
  • Denied (emergency calls only)
  • Unregistered (off)
Battery

You can simulate the battery properties of a device to see how your app performs under different conditions. To select a Charge level, use the slider control.

Select a Charger connection value:

  • None
  • AC charger

Select a Battery health value:

  • Good (default)
  • Failed
  • Dead
  • Overvoltage
  • Overheated
  • Unknown

Select a Battery status value:

  • Unknown
  • Charging (default)
  • Discharging
  • Not charging
  • Full
Camera You can load pictures into the scene that is simulated when you open the emulator camera. For more information, see Add Augmented Images to the scene in the ARCore documentation.
Phone

The emulator lets you simulate incoming phone calls and text messages.

To initiate a call to the emulator:

  1. Select or type a phone number in the From field.
  2. Click Call Device.
  3. Optionally, click Hold Call to put the call on hold.
  4. To end the call, click End Call.

To send a text message to the emulator:

  1. Select or type a phone number in the From field.
  2. Type a message in the SMS message field.
  3. Click Send Message.
Directional Pad

If the AVD has the directional pad enabled in the hardware profile, you can use the directional pad controls with the emulator. However, not all devices support the directional pad; for example, Android watches don't. The buttons simulate the following actions:

Directional Pad Control
Microphone When Virtual microphone uses host audio input is turned on, the emulator receives audio input from the host microphone; otherwise, the emulator doesn't receive any audio input. The Virtual headset plug inserted, Virtual headset has microphone, and Voice Assist options are currently unimplemented.
Fingerprint

This control can simulate 10 different fingerprint scans. You can use it to test fingerprint integration in your app. This feature is disabled for Android 5.1 (API level 22) and lower and for Wear OS.

To simulate a fingerprint scan on the virtual device:

  1. Prepare an app to receive a fingerprint.
  2. Select a Fingerprint value.
  3. Click Touch Sensor.
Virtual sensors > Device Pose

This control lets you test your app against changes in device position, orientation, or both. For example, you can simulate gestures such as tilt and rotation. The accelerometer doesn't track the absolute position of the device: it just detects when a change is occurring. The control simulates the way accelerometer and magnetometer sensors would respond when you move or rotate a real device.

You must enable the accelerometer sensor in your AVD to use this control.

The control reports TYPE_ACCELEROMETER events on the x, y, and z axis. These values include gravity. For example, if the device is suspended in outer space, it would experience zero acceleration (all of x, y, and z are 0). When the device is on Earth and lying screen-up on top of a table, the acceleration is 0, 0, and 9.8 because of gravity.

The control also reports TYPE_MAGNETIC_FIELD events, which measure the ambient magnetic field on the x, y and z axis in microteslas (μT).

To rotate the device around the x, y, and z axes, select Rotate and do one of the following:

  • Adjust the Yaw, Pitch, and Roll sliders and observe the position in the upper pane.
  • Move the device representation in the upper pane and observe the Yaw, Pitch, and Roll and how the resulting accelerometer values change.

See Compute the device's orientation for more information about how yaw, pitch, and roll are calculated.

To move the device horizontally (x) or vertically (y), select Move and do one of the following:

  • Adjust the X and Y sliders and observe the position in the upper pane.
  • Move the device representation in the upper pane and observe the X and Y slider values and how the resulting accelerometer values change.

To position the device at 0, 90, 180, or 270 degrees:

  • In the Device rotation area, select a button to change the rotation.

As you adjust the device, the Resulting values fields change accordingly. These are the values that an app can access.

For more information about these sensors, see Sensors overview, Motion sensors, and Position sensors.

Virtual sensors > Additional sensors

The emulator can simulate various position and environment sensors. It lets you adjust the following sensors so you can test them with your app:

  • Ambient temperature: This environmental sensor measures ambient air temperature.
  • Magnetic field: This position sensor measures the ambient magnetic field on the X, Y, and Z axes, respectively. The values are in microteslas (μT).
  • Proximity: This position sensor measures the distance from an object; for example, it can notify a phone that a face is close to it to make a call. The proximity sensor must be enabled in your AVD to use this control.
  • Light: This environmental sensor measures illuminance. The values are in lux units.
  • Pressure: This environmental sensor measures ambient air pressure. The values are in millibar (hPa) units.
  • Relative Humidity: This environmental sensor measures ambient relative humidity.

For more information about these sensors, see Sensors overview, Position sensors, and Environment sensors .

Bug report If you're experiencing issues with the emulator, you can prepare and send a bug report. The emulator automatically collects screenshots, logs, and other data for the bug report.
Record and Playback See Screen recording.
Google Play When the AVD system image includes the Play Store app, this displays the Google Play services version information.
Settings > General
  • Emulator window theme: Select Light or Dark.
  • Send keyboard shortcuts to: By default, some keyboard combinations trigger emulator control shortcuts. If you’re developing an app that includes keyboard shortcuts, such as one targeted at devices with Bluetooth keyboards, you can change this setting to send all keyboard input to the virtual device, including input that would be a shortcut in the emulator.
  • Screenshot save location: Click the folder icon to specify a location to save screenshots of the emulator screen.
  • Use detected ADB location: If you're running the emulator from Android Studio, select this setting (the default). If you run the emulator from outside Android Studio and want it to use a specific adb executable, deselect this option and specify the SDK Tools location. If this setting is incorrect, features such as screenshot capture and drag-and-drop app installation don't work.
  • When to send crash reports: Select Always, Never, or Ask.
  • Show window frame around device: By default, emulators with device skin files are shown without a surrounding window frame.
Settings > Proxy

By default, the emulator uses the Android Studio HTTP proxy settings. This screen lets you manually define an HTTP proxy configuration for the emulator. For more information, see Use the emulator with a proxy.

Settings > Advanced
  • OpenGL ES renderer: Select the graphics acceleration type. (This is equivalent to the -gpu command line option.)
    • Autodetect based on host: Let the emulator choose hardware or software graphics acceleration based on your computer setup. It checks whether your GPU driver matches a list of known faulty GPU drivers, and if it does, the emulator disables graphics hardware emulation and instead uses the CPU.
    • ANGLE: (Windows only.) Use ANGLE Direct3D to render graphics in software.
    • SwiftShader: Use SwiftShader to render graphics in software.
    • Desktop native OpenGL: Use the GPU on your host computer. This option is typically the fastest. However, some drivers have issues with rendering OpenGL graphics, so it might not be a reliable option.
  • OpenGL ES API level: Select the maximum version of OpenGL ES to use in the emulator.
    • Autoselect: Let the emulator choose the OpenGL ES version based on the host and guest support.
    • Renderer maximum (up to OpenGL ES 3.1): Attempt to use the maximum version of OpenGL ES.
    • Compatibility (OpenGL ES 1.1/2.0): Use the version of OpenGL ES that is compatible with most environments.
Help > Keyboard Shortcuts

This pane provides a complete list of keyboard shortcuts for the emulator. To open this pane while working in the emulator, press F1 (Command+/ on macOS).

For the shortcuts to work, the Send keyboard shortcuts option in the General settings pane must be set to Emulator controls (default).

Help > Emulator Help

To go to the online documentation for the emulator, click Documentation.

To file a bug against the emulator, click Send feedback. For more information, learn how to report emulator bugs.

Help > About

See which adb port the emulator uses as well as the Android and emulator version numbers. Compare the latest available emulator version with your version to determine whether you have the latest software installed.

The emulator serial number is emulator-adb_port, which you can specify as an adb command-line option, for example.