Emu Zoo 🦊🐼🐸
Run and play with your Android emulators and iOS simulators in a VS Code tab.
Every virtual device is a resident of your little zoo: it gets its own animal buddy,
bounces while it boots, and throws confetti when it wakes up. No separate emulator
window, no alt-tabbing — the device screen streams live next to your code.
The emu runs the place. (Emu… emulator. It was inevitable.)
Features
Pick any Android AVD or iOS simulator from the picker. The panel tints itself
leaf-green for Android and sky-blue for iOS, and the controls adapt to what the
platform can actually do.
Live device screen
- Android — streams at ~30fps as H.264 (
adb exec-out screenrecord), decoded
with WebCodecs. The emulator runs headless, so no extra window appears.
- iOS — with idb installed, streams H.264 at 30fps and
supports touch/typing. Without idb it falls back to a screenshot loop
(look-only, ~1.5fps) and tells you how to upgrade.
Click to tap, hold for a long press, drag to swipe, scroll with the wheel.
Click once to focus the screen, then type with your real keyboard — Enter,
Backspace, arrows and (on Android) Ctrl/Alt shortcuts included.
Boot progress you can trust
Real milestones — launching, connecting, booting — with your buddy bouncing and
an elapsed clock for slow cold boots. Progress reflects what actually happened,
not a timed animation.
- Android: Back, Home, Recent apps, rotate left/right
- iOS: Home, Lock, Siri
Extended controls
| Platform |
What you can simulate |
| Android |
Battery level/charger/health · network type, voice/data status, signal strength · GPS location · incoming calls and SMS · fingerprint touch |
| iOS |
Status-bar overrides (battery, cellular bars, network badge, carrier name, the 9:41 clock) · GPS location · light/dark appearance · push notifications · open URLs and deep links |
Screenshots, fit and zoom
Full-resolution PNG screenshots saved into your workspace. Fit to height, fit to
width, or zoom 25–300%.
Requirements
Android: Android Studio or the SDK, with emulator and adb on your PATH,
and at least one AVD (check with emulator -list-avds).
iOS (macOS only): Xcode with simulators installed (check with
xcrun simctl list devices). For touch input and smooth video:
brew tap facebook/fb
brew install idb-companion
pipx install fb-idb # or: pip3 install fb-idb
A recent VS Code. Without WebCodecs the panel falls back to still frames.
The extension drives the tools already on your machine — it bundles nothing.
Getting started
npm install && npm run compile
- Press F5 in VS Code to launch the Extension Development Host (or package with
npx @vscode/vsce package and install the .vsix).
- Open the Command Palette → Emu Zoo: Open Device Viewer.
- Pick a resident, press ▶, and wait for the confetti.