emumanager
Manages Android SDK, emulators, and AVDs. Use when bootstrapping Android SDK, creating/starting/stopping AVDs, downloading system images, or troubleshooting emulator issues. Supports mobile, Wear OS, TV, and Automotive devices. Covers sdkmanager, avdmanager, emulator CLI. Triggers: android emulator, android virtual device, avd, system image, wear os emulator, tv emulator, automotive emulator, bootstrap android sdk.
Best use case
emumanager is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Manages Android SDK, emulators, and AVDs. Use when bootstrapping Android SDK, creating/starting/stopping AVDs, downloading system images, or troubleshooting emulator issues. Supports mobile, Wear OS, TV, and Automotive devices. Covers sdkmanager, avdmanager, emulator CLI. Triggers: android emulator, android virtual device, avd, system image, wear os emulator, tv emulator, automotive emulator, bootstrap android sdk.
Teams using emumanager should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/emumanager/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How emumanager Compares
| Feature / Agent | emumanager | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Manages Android SDK, emulators, and AVDs. Use when bootstrapping Android SDK, creating/starting/stopping AVDs, downloading system images, or troubleshooting emulator issues. Supports mobile, Wear OS, TV, and Automotive devices. Covers sdkmanager, avdmanager, emulator CLI. Triggers: android emulator, android virtual device, avd, system image, wear os emulator, tv emulator, automotive emulator, bootstrap android sdk.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Android Emulator Manager
## Important: Use Script First
**ALWAYS use `scripts/emumanager` over raw `sdkmanager`, `avdmanager`, or
`emulator` commands.** The script is located in the `scripts/` subdirectory of
this skill's folder. It provides features that raw commands do not:
- Automatic system image selection for device types (--mobile, --wear, --tv)
- Boot completion detection with timeout
- Sensible defaults and helpful error messages
- Diagnostics via `doctor` subcommand
**When to read the script source:** If the script doesn't do exactly what you
need, or fails due to missing dependencies, read the script source. It encodes
solutions to SDK quirks and boot detection edge cases—use it as reference when
building similar functionality.
## Quick Start
### Environment Variables
```bash
export ANDROID_HOME="${ANDROID_HOME:-$HOME/.local/share/android-sdk}"
export ANDROID_USER_HOME="${ANDROID_USER_HOME:-$HOME/.android}"
```
### Prerequisites
- Java 17 or higher
- Hardware acceleration: KVM on Linux, HVF (Hypervisor Framework) on macOS
- Network access for downloading SDK components
### Highest-Value Commands
```bash
# First-time setup (installs cmdline-tools, platform-tools, build-tools, emulator)
scripts/emumanager bootstrap
# Diagnose issues (Java version, hardware acceleration, disk space)
scripts/emumanager doctor
# Create a mobile/phone AVD with latest API
scripts/emumanager create my_phone --mobile
# Start the AVD
scripts/emumanager start my_phone
# List all AVDs (shows running status)
scripts/emumanager list
# Show detailed AVD information
scripts/emumanager info my_phone
```
## Subcommand Overview
### bootstrap
Set up SDK environment. Installs cmdline-tools, platform-tools, build-tools,
emulator, and a platform.
```bash
scripts/emumanager bootstrap
scripts/emumanager bootstrap --no-emulator # Skip emulator installation
```
### doctor
Run diagnostics to check for common issues: Java version, hardware acceleration,
SDK tools, disk space, orphaned AVD files.
```bash
scripts/emumanager doctor
```
### list
List all available AVDs with running status.
```bash
scripts/emumanager list # Show all AVDs with status
scripts/emumanager list --names-only # Just AVD names
scripts/emumanager list --running-only
scripts/emumanager list --stopped-only
```
### info
Show detailed information about an AVD: system image, API level, screen config,
RAM, storage, Play Store status.
```bash
scripts/emumanager info my_phone
```
### create
Create a new AVD with device type or specific image.
```bash
scripts/emumanager create my_phone --mobile # Mobile/phone (default)
scripts/emumanager create my_watch --wear # Wear OS
scripts/emumanager create my_tv --tv # Android/Google TV
scripts/emumanager create my_car --auto # Android Automotive
# With specific system image
scripts/emumanager create my_avd "system-images;android-36;google_apis_playstore;arm64-v8a"
```
### start
Start an AVD. Waits for boot to complete.
```bash
scripts/emumanager start my_phone # Quick Boot (fast)
scripts/emumanager start my_phone --cold-boot # Cold boot (bypass snapshots)
scripts/emumanager start my_phone --wipe-data # Factory reset + cold boot
```
### stop
Stop a running AVD.
```bash
scripts/emumanager stop my_phone
```
### delete
Delete an AVD and clean up files. Stops the AVD first if running.
```bash
scripts/emumanager delete my_phone
```
### download
Download a specific system image.
```bash
scripts/emumanager download "system-images;android-36;google_apis_playstore;arm64-v8a"
```
### images
List available system images for the host architecture (API level >= 33).
Installed images are marked with `*`.
```bash
scripts/emumanager images
```
### outdated
Show outdated SDK packages.
```bash
scripts/emumanager outdated
```
### update
Update all installed SDK packages to latest versions.
```bash
scripts/emumanager update
```
## Device Types
The `create` command supports device type flags that automatically select the
latest appropriate system image for the host architecture:
<!-- markdownlint-disable MD013 -->
| Flag | Device Type | System Image Pattern |
| -------------------- | ----------------- | -------------------------------------- |
| `--mobile`/`--phone` | Mobile/Phone | `google_apis_playstore` |
| `--wear`/`--watch` | Wear OS | `android-wear` / `android-wear-signed` |
| `--tv` | Android/Google TV | `android-tv` / `google-tv` |
| `--auto` | Automotive | `android-automotive-playstore` |
<!-- markdownlint-restore MD013 -->
If no device type or image is specified, defaults to mobile/phone.
## Start Mode Options
<!-- markdownlint-disable MD013 -->
| Mode | Flag | Description |
| ------------- | ------------- | ------------------------------------ |
| Quick Boot | (default) | Fast startup using snapshots |
| Cold Boot | `--cold-boot` | Bypass Quick Boot, perform full boot |
| Factory Reset | `--wipe-data` | Wipe all data and cold boot |
<!-- markdownlint-restore MD013 -->
## Common Workflows
### First-Time Setup
```bash
scripts/emumanager bootstrap
scripts/emumanager doctor
```
### Creating and Running a Phone Emulator
```bash
scripts/emumanager create my_phone --mobile
scripts/emumanager start my_phone
```
### Creating a Wear OS Emulator
```bash
scripts/emumanager create my_watch --wear
scripts/emumanager start my_watch
```
### Factory Resetting an AVD
```bash
scripts/emumanager start my_phone --wipe-data
```
### Checking for SDK Updates
```bash
scripts/emumanager outdated
scripts/emumanager update
```
## Safety Notes
- Script requires Java 17+ to run SDK tools
- Hardware acceleration (KVM/HVF) is required for x86_64/arm64 emulators
- System image downloads can be several GB
- Some operations require network access
- The script avoids destructive actions unless explicitly requested
- Use `ANDROID_SERIAL` environment variable when multiple emulators are running
## Reference Documentation
- `references/command-index.md` - Detailed subcommand reference
- `references/troubleshooting.md` - Common issues and solutionsRelated Skills
wear-testing
Provides a guide and ADB commands for testing Wear OS applications. Focuses on triggering system state changes, simulating edge cases, and interacting with Wear-specific surfaces (tiles, complications, watchfaces). Triggers: wear os, testing, wear os testing, test wear os app, adb, pixel watch, galaxy watch.
technical-writing-style
Use this skill when authoring, reviewing, or editing technical documents, including bug reports, known issues, friction logs, PR descriptions, and the structural content and tone of commit messages. Use to ensure engineering content maintains a clear, factual, and constructive tone. Triggers: technical writing, bug report, known issue, friction log, PR description, pull request, commit message tone, review document.
jetpack
Resolves AndroidX/Jetpack library information including version lookup, package-to-Maven-coordinate conversion, and source code downloading. Provides tools for inspecting Jetpack library implementations. Use when working with androidx libraries, resolving Maven coordinates, downloading Jetpack source code, checking library versions (alpha/beta/stable/snapshot), or inspecting AndroidX class implementations. Triggers: androidx, jetpack, maven coordinate, jetpack source, library version, snapshot, alpha, beta.
coding-standards
Use this skill when writing, reviewing, or validating code (shell scripts, Python, Markdown) or CLI tools to ensure they follow repository coding standards and conventions. Also use when formatting git commit messages (Conventional Commits syntax, line wrapping) or checking code for style compliance. Triggers: coding standards, style guide, validate change, review conventions, shellcheck, shfmt, markdown format, python, ruff, uvx, lint, commit message format, CLI design, code review, formatting.
ai-tools
Command-line tools that delegate analysis tasks to AI models. Includes image description, screenshot comparison, smart cropping around people, token counting, essay generation from text, boolean condition evaluation, context gathering, and Android UI interaction via popper. Use for describing images, comparing UI states, cropping photos around faces, counting tokens, generating reports, evaluating conditions, gathering context for analysis, automating Android apps, testing Wear OS, or any task requiring AI inference. Triggers: ai analysis, describe image, compare screenshots, smart crop, crop around people, face crop, count tokens, token count, generate essay, evaluate condition, alt text, image description, UI comparison, visual diff, satisfies condition, boolean evaluation, gemini, context, gather context, research topic, android ui, adb, uiautomator2, popper, automate app, test wear os.
adb
Manipulates Android devices via ADB with emphasis on Wear OS. Provides scripts for screenshots, screen recording, tile management, WearableService inspection, package operations, and device configuration. Use when working with adb, Android devices, Wear OS watches, tiles, wearable data layer, dumpsys, or device debugging. Triggers: adb, android device, wear os, wearable, tile, screenshot, screen recording, dumpsys, logcat.
workspace-surface-audit
Audit the active repo, MCP servers, plugins, connectors, env surfaces, and harness setup, then recommend the highest-value ECC-native skills, hooks, agents, and operator workflows. Use when the user wants help setting up Claude Code or understanding what capabilities are actually available in their environment.
ui-demo
Record polished UI demo videos using Playwright. Use when the user asks to create a demo, walkthrough, screen recording, or tutorial video of a web application. Produces WebM videos with visible cursor, natural pacing, and professional feel.
token-budget-advisor
Offers the user an informed choice about how much response depth to consume before answering. Use this skill when the user explicitly wants to control response length, depth, or token budget. TRIGGER when: "token budget", "token count", "token usage", "token limit", "response length", "answer depth", "short version", "brief answer", "detailed answer", "exhaustive answer", "respuesta corta vs larga", "cuántos tokens", "ahorrar tokens", "responde al 50%", "dame la versión corta", "quiero controlar cuánto usas", or clear variants where the user is explicitly asking to control answer size or depth. DO NOT TRIGGER when: user has already specified a level in the current session (maintain it), the request is clearly a one-word answer, or "token" refers to auth/session/payment tokens rather than response size.
skill-comply
Visualize whether skills, rules, and agent definitions are actually followed — auto-generates scenarios at 3 prompt strictness levels, runs agents, classifies behavioral sequences, and reports compliance rates with full tool call timelines
santa-method
Multi-agent adversarial verification with convergence loop. Two independent review agents must both pass before output ships.
safety-guard
Use this skill to prevent destructive operations when working on production systems or running agents autonomously.