Virtual Device
Run, view, and control Android emulators inside VS Code. Start and manage AVDs,
interact with mouse, keyboard, or touch, and open the viewer in a browser.
WebRTC streaming falls back to WebSocket when unavailable.
[!WARNING]
Beta and experimental. Expect rough edges and breaking changes between
releases. Not intended for production use: streaming the display adds
overhead, so it is slower than the native emulator window.

Getting started
- Install the extension
and have the Android SDK, Emulator package,
a system image, and an AVD installed. Enable hardware acceleration for best performance.
- Open Virtual Device from the Activity Bar or Command Palette. Follow the
setup guide if anything is missing, then click Re-check.
- Click Start on a device. Install the optional
Android CLI
to create, configure, and delete devices from the extension.
Drag the view into the Secondary Side Bar to keep it beside your editor.
The extension uses your local Android SDK, including in Remote, WSL, and container windows.
Controls and settings
Tap or drag to interact, scroll with the wheel, use Shift+wheel for horizontal
scrolling and Ctrl+wheel to pinch. Touch devices support multi-touch gestures.
The toolbar provides hardware keys; the device header lets you choose WebRTC or WebSocket.
| Setting |
Purpose |
virtualDevice.androidSdkPath |
Override the automatically detected Android SDK location. |
virtualDevice.androidCliPath |
Override the automatically detected Android CLI executable. |
virtualDevice.networkAccess |
Allow access from other devices on your network. Off by default. |
virtualDevice.port |
Set a fixed server port for stable links. 0 selects a free port. |
Settings apply to your machine. Restart the backend when prompted after changing them;
restarting stops emulators launched by the extension.
Share a device
Enable virtualDevice.networkAccess, restart the backend, and use Copy link
in a running device's header. Open the link on another device on the same network;
allow VS Code through your firewall if prompted. Browser opens the viewer locally.
Anyone with the link can view and control your devices. Links contain an access token;
use Virtual Device: Revoke Network Links to invalidate them. Traffic is plain HTTP,
so share only on networks you trust.
Troubleshooting
- SDK or CLI missing: set the paths above. After installing tools, click Re-check
or restart VS Code to pick up the updated environment.
- Device won't start or the screen stays black: run Virtual Device: Show Logs
and confirm the AVD boots in Android Studio. First boot can take a minute or more.
Contributing, development, and publishing · MIT license