Skip to content

daveads/emu

Β 
Β 

Repository files navigation

🦀 Emu - Device Manager

Build Status License: MIT

A TUI for managing Android emulators and iOS simulators.

emu.mov

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

brew install wasabeef/emu-tap/emu

Build from source

git clone https://github.com/wasabeef/emu.git
cd emu
cargo build --release
./target/release/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

# Start Emu
emu

# Debug mode
emu --debug

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 for development setup and guidelines.

License

MIT - see LICENSE

About

A TUI for managing Android emulators and iOS simulators.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 100.0%