https://github.com/wasabeef/emu
A TUI for managing Android emulators and iOS simulators.
https://github.com/wasabeef/emu
Last synced: about 1 year ago
JSON representation
A TUI for managing Android emulators and iOS simulators.
- Host: GitHub
- URL: https://github.com/wasabeef/emu
- Owner: wasabeef
- License: mit
- Created: 2025-06-08T09:14:15.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-26T01:33:13.000Z (about 1 year ago)
- Last Synced: 2025-06-26T02:34:00.459Z (about 1 year ago)
- Language: Rust
- Homepage:
- Size: 376 KB
- Stars: 19
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE-MIT
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# ðĶĪ Emu - Device Manager
[](https://github.com/wasabeef/emu/actions)
[](./LICENSE-MIT)
A TUI for managing Android emulators and iOS simulators.
https://github.com/user-attachments/assets/3f4bfde6-6e54-45bd-9a7c-0cb2eeb2f861
## Features
### Core Functionality
- ðĪ **Android AVD Management**: Create, start, stop, delete, and wipe Android Virtual Devices
- Dynamic API level detection with installed system images
- Support for Phone, Tablet, TV, Wear OS, Automotive, Desktop device types
- Advanced configuration: RAM (512MB-8GB), Storage (1GB-64GB)
- Automatic placeholder naming (e.g., "Pixel 9 Pro Fold API 36")
- Real-time system image installation with progress tracking
- ð **iOS Simulator Management** (macOS only): Manage simulators via `xcrun simctl`
- Device type selection (iPhone, iPad models)
- Runtime version selection with dynamic detection
- Basic device operations with status monitoring
### User Experience
- ð **Real-time Monitoring**: Live device status and log streaming with < 10ms latency
- ⥠**High Performance**: Instant startup (<150ms, typical ~104ms) with background loading
- âĻïļ **Keyboard-driven**: Vim-like keybindings with circular navigation
- ðą **Three-panel layout**: Android devices (30%) | iOS devices (30%) | Device details (40%)
- ð **Comprehensive Details**: Device specifications, status, RAM/Storage in MB, full paths
- ð§ **Smart Caching**: Platform-aware cache invalidation and background loading
- ð **Robust Testing**: 15 test files with 31+ test functions ensuring reliability
- ðĶ **API Level Management**: Install/uninstall system images directly from TUI
## Installation
```bash
brew install wasabeef/emu-tap/emu
```
## Requirements
### Android
- Android SDK with `ANDROID_HOME` set
- `avdmanager`, `emulator`, and `adb` in PATH
### iOS (macOS only)
- Xcode and command line tools
- At least one iOS runtime installed
## Usage
```bash
# Start Emu
emu
```
### Keyboard Shortcuts
| Key | Action |
| --------------------- | ---------------------------- |
| `Tab` | Switch panels |
| `â`/`â` | Navigate devices |
| `j`/`k` | Navigate devices (vim-style) |
| `Enter` | Start/Stop device |
| `c` | Create new device |
| `i` | Manage API levels (Android) |
| `d` | Delete device |
| `w` | Wipe device |
| `r` | Refresh |
| `f` | Cycle log filter |
| `Page Up`/`Page Down` | Scroll device lists/logs |
| `Ctrl+u`/`Ctrl+d` | Page up/down in lists |
| `g`/`G` | Go to top/bottom of list |
| `q` or `Ctrl+q` | Quit |
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.
## License
MIT - see [LICENSE](LICENSE)