Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Android Emulator ManagerNew to Visual Studio Code? Get it now.
Android Emulator Manager

Android Emulator Manager

Nguyen Duc Huy

|
69 installs
| (0) | Free
Launch Android emulators from a sidebar in VS Code and Cursor
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Android Emulator extension

Unit tests Coverage

This is the Android Emulator extension. It lets engineers discover installed Android Virtual Devices (AVDs), start and stop emulators, see which AVDs are currently running, and create new AVDs - all from a sidebar in VS Code or Cursor. Use the built-in wizard to choose a device profile and system image, then create the AVD via avdmanager.

Features

UI (Activity Bar -> Mobile device icon)

  • Android Emulators activity-bar view with an AVDs tree listing installed virtual devices.
  • Refresh toolbar button on the AVDs view to reload the list.
  • Cold Boot (circular arrow) inline action on each AVD (stopped or running); Start (play) inline action on each stopped AVD; Stop (square) inline action on each running AVD.
  • Cold Boot / Start / Stop context-menu entries on AVD tree items.
  • Create New AVD… item at the bottom of the AVDs tree (shown when empty or when AVDs exist) to launch the creation wizard.
  • Connected devices section below Create New AVD… listing physical USB/wireless devices. Outline icon actions per device:
    • View (screen icon) — opens scrcpy to mirror the screen.
    • Screenshot (camera icon) — saves a PNG via adb screencap.
    • Record / Stop — records the screen with scrcpy (--record, no audio) into a visible scrcpy window. Stop from the sidebar or by closing that window; then choose where to save the MKV (cancel discards silently). View and Record are mutually exclusive on the same device (you will be asked to stop one before starting the other). Screenshot is unavailable while recording. If scrcpy is not on your PATH, use Set scrcpy Path... in the error notification or configure androidEmulator.scrcpyPath.
  • Status rows when needed: Loading AVDs…, Set Android SDK Path…, Failed to list AVDs, No AVDs installed, No connected devices.

Commands (Command Palette → category Android Emulator)

  • Refresh - reload installed and running AVDs and connected physical devices.
  • Set Android SDK Path... - pick or type the SDK root folder.
  • Set scrcpy Path... - pick or type the scrcpy executable.
  • Create New AVD... - launch the wizard to create a new AVD (select device profile, system image, and name).
  • Show AVDs View - open the Android Emulators sidebar.

Requirements

A functional Android SDK installation containing:

  • the emulator tool (Android Emulator package via SDK Manager),
  • platform-tools (adb, used to detect running emulators and to stop them),
  • cmdline-tools (Android SDK Command-line Tools (latest) via SDK Manager) to create new AVDs with the built-in wizard (provides avdmanager), and
  • a Java runtime (JDK 17 or newer, via JAVA_HOME or on PATH; Android Studio's bundled JBR works) when creating AVDs.

You can start with zero AVDs; the sidebar includes a Create New AVD… action to create your first one.

Extension Settings

This extension contributes the following settings:

  • androidEmulator.androidSdkPath: Custom path to the Android SDK root (the folder containing the emulator, platform-tools, and cmdline-tools subfolders). Highest precedence for resolution. Leave empty to use environment variables or platform defaults. This setting is also used when locating avdmanager for the Create New AVD wizard.
  • androidEmulator.scrcpyPath: Custom path to the scrcpy executable. Highest precedence for resolution. Leave empty to auto-detect via PATH and common install locations.

Known Issues

None at this time.

Release Notes

Unreleased

0.5.0

  • Screen recording for connected physical devices via scrcpy (visible Record window; save dialog after stop).

0.4.0

  • Screenshot capture for connected physical devices.

0.3.0

  • Added a Connected devices section in the sidebar for physical USB and wireless Android devices.
  • Added a View action on each connected device to mirror its screen with scrcpy when installed.
  • Added Set scrcpy Path... and a configurable scrcpy path when the tool is not found automatically.
  • Refresh now reloads both AVDs and connected physical devices.

0.2.0

  • Added a webview-based AVD list UI for a cleaner, more app-like sidebar experience.
  • Added API level labels for AVDs when that metadata can be resolved locally.
  • Added inline Cold Boot, Start, Stop, and Create New AVD... actions directly in the list.
  • Drastically reduced the published extension size by trimming repo-only files from the VSIX package.

0.1.0

  • Cold Boot AVD inline action (circular arrow icon debug-restart) on every AVD row, to the left of Start/Stop, for a full boot without loading the Quick Boot snapshot.
  • When the AVD is already running, the Cold Boot inline action stays visible (matching Android Studio Device Manager); clicking it shows an error with guidance to delete *.lock files in the AVD data folder if needed.
  • Removed Command Palette entries for Start AVD, Stop AVD, and Open Android Emulator Settings (use sidebar inline actions instead).

Full history: CHANGELOG.md


Usage

Open the Android Emulators sidebar from the activity bar (mobile device icon), or run Show AVDs View from the Command Palette. The AVDs list shows your installed virtual devices and includes a Create New AVD... action row. Use the toolbar Refresh button to reload the list, or create a new AVD directly from the sidebar (the list refreshes automatically after creation).

If the SDK cannot be found, click Set Android SDK Path… in the tree or run Set Android SDK Path... from the Command Palette. You can also configure androidEmulator.androidSdkPath in the Settings editor. The Create New AVD wizard will guide you to install cmdline-tools or set the SDK path when needed.

Commands

Command Title Description
androidEmulator.refreshAvds Refresh Reload AVDs and connected physical devices in the sidebar
androidEmulator.setAndroidSdkPath Set Android SDK Path... Pick or type the SDK root folder and persist it to settings
androidEmulator.setScrcpyPath Set scrcpy Path... Pick or type the scrcpy executable and persist it to settings
androidEmulator.createAvd Create New AVD... Create a new AVD using the wizard (device profile, system image, name)
androidEmulator.showAvdsView Show AVDs View Open the Android Emulators sidebar

UI

Location Control Action
Activity bar Android Emulators (mobile icon) Opens the sidebar
AVDs view title Refresh Reloads the AVD and connected-device lists
Connected device row View Opens scrcpy for that physical device
Connected device row Screenshot Saves a PNG via adb screencap
Connected device row Record / Stop Records MKV via scrcpy; stop via button or closing the Record window
AVD list row Cold Boot, Start, or Stop inline actions Cold boots, starts, or stops that AVD
AVD list footer row Create New AVD... Opens the Create AVD wizard
Sidebar (SDK missing) Set Android SDK Path… Opens the SDK path picker
Sidebar (empty) Create New AVD... Creates your first AVD

CI and coverage badges

Unit tests run on every push and pull request to main via GitHub Actions.

The Unit tests and Coverage badges are shields.io endpoints backed by a public gist. CI updates the gist on each main push: unit test pass/fail from the workflow result, and line coverage from c8 when tests succeed.

Local commands: npm test and npm run test:coverage.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft