A fast, lightweight and beautiful Android emulator manager — written in Rust.
Create, run and debug Android devices with the screen embedded right inside the app.
No Android Studio. No Java. No sdkmanager.
The official Android tooling is powerful, but heavy. EmuZip drives the official Google Android Emulator (or plain QEMU) through a small native app that starts instantly, and gives you every tool you reach for while developing — in one window.
- ⚡ Native and light — a single Rust binary with a Slint UI. No JVM, no Electron.
- 🖥️ Embedded display — the Android screen is streamed over gRPC straight into the app, with touch, keyboard, scroll and rotation.
- 📦 Official images, zero setup — browse Google's system-image catalog, download with live progress and SHA-1 verification.
- 🧰 Everything in a side panel — battery, GPS, network, sensors, camera, biometrics, logcat, shell, performance and more.
- 🌍 Speaks your language — English by default, plus Português (BR), Español, Français, Deutsch and 中文, switchable live.
- 🔎 Built-in network inspector — a MITM proxy written in Rust that exports HAR, Postman, cURL, JSON and CSV.
Tool panels — click to expand the full gallery
| Devices | 4-step creation wizard with 13 hardware profiles · start, cold boot, stop, restart · clone, rename, factory reset, delete · repair broken AVDs · search, filters, grid or list. |
| Images | Official Google catalog (8 channels) · native download with progress, speed and ETA · SHA-1 verification · cancel anytime. |
| Player | gRPC screen streaming · touch, drag, keyboard and scroll · back / home / recents · power, volume, rotate · fullscreen and fit window. |
| Tools | Battery · GPS (cities and simulated routes) · network · phone and SMS · sensors · biometrics · cameras · display · identifiers · apps · files · clipboard · snapshots · logcat · shell · proxy and locale. |
| Captures | Screenshots (PNG) and screen recordings (MP4). |
| Network inspector | Rust MITM proxy with its own CA · request/response viewer (pretty JSON, image preview, gzip/brotli) · export to HAR 1.2, JSON, CSV, Postman v2.1, cURL. |
| Performance | Host and guest CPU / RAM / GPU · 60 s charts · top consumers with kill · memory stress with LMK counter · CSV export. |
| Activity center | Real progress for downloads, device creation, boots and installs. |
| Languages | English, Português (BR), Español, Français, Deutsch, 中文 (简体) — live switching. |
| CLI | emuzipctl for scripting and CI. See docs/cli.md. |
Grab the latest installer for your platform from the Releases page:
| Platform | Package |
|---|---|
| macOS (Apple Silicon / Intel) | .dmg |
| Windows | .exe installer (NSIS) |
| Linux | .deb or .AppImage |
- Android SDK with the
emulatorandplatform-toolspackages. EmuZip finds it automatically (ANDROID_HOME,ANDROID_SDK_ROOT, or the default per-OS locations) — or point to it in Settings → Paths. - Hardware acceleration for the emulator: Hypervisor.framework (macOS), Windows Hypervisor Platform (Windows) or KVM (Linux).
- QEMU is optional.
No Java and no sdkmanager are required — images are downloaded natively.
git clone https://github.com/LuisPeixoto/EmuZip.git
cd EmuZip
cargo build --releaseYou get two binaries in target/release/: EmuZip (the app) and emuzipctl (the CLI). Linux needs a few system libraries — see docs/development.md.
Packaging:
./dist/package-macos.sh # dist/EmuZip.app + dist/EmuZip.dmg
cargo install cargo-packager --locked
cargo packager --release -p emuzip-app # dmg / nsis / deb / appimage- Open EmuZip and go to Images. Pick an image from the Catalog and download it.
- Go to Devices → New device, choose a hardware profile and the image you just installed.
- Press Start. The Android screen appears inside the app.
- Use the tool rail on the right to change battery, location, network, sensors and more.
Prefer the terminal?
emuzipctl catalog # list downloadable images
emuzipctl download <package|id> # download and install one
emuzipctl create "Pixel 9" <image> pixel_9
emuzipctl list # shows the device id
emuzipctl start <id> --window
emuzipctl screenshot <id> shot.pngThe interface is English by default and follows your system language when you pick System in Settings → Language. Available: English, Português (Brasil), Español, Français, Deutsch and 中文 (简体).
Want to add your language? It takes one .po file — see docs/translations.md.
EMUZIP_LANG=pt-BR ./target/release/EmuZip # try a language without touching settings| Crate | Purpose |
|---|---|
emuzip-core |
Models, settings (TOML), hardware profiles, installed images |
emuzip-adb |
Pure-Rust ADB protocol (shell, exec, sync push/pull, install, logcat) |
emuzip-console |
Emulator console client (network, signal, snapshots, rotation) |
emuzip-grpc |
Emulator gRPC client (tonic; protos compiled with protox, no protoc) |
emuzip-repo |
Image catalog and downloads |
emuzip-netcap |
MITM proxy, CA, storage and exporters |
emuzip-backend |
AVD (Java-free) and QEMU backends |
emuzip-cli |
emuzipctl command-line tool |
emuzip-app |
The EmuZip desktop app (Slint) |
A deeper tour lives in docs/architecture.md.
- Architecture
- Features guide
- Command-line interface
- Translations
- Development guide
- Troubleshooting
- Changelog
Contributions of every size are welcome — bug reports, translations, docs and code. Please read CONTRIBUTING.md and our Code of Conduct first. Found a security issue? See SECURITY.md.
EmuZip is released under the MIT License.
Android and the Android robot are trademarks of Google LLC. EmuZip is an independent project and is not affiliated with or endorsed by Google.



















