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.

47 stars

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

$curl -o ~/.claude/skills/emumanager/SKILL.md --create-dirs "https://raw.githubusercontent.com/ithinkihaveacat/dotfiles/main/skills/emumanager/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/emumanager/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How emumanager Compares

Feature / AgentemumanagerStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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 solutions

Related Skills

wear-testing

47
from ithinkihaveacat/dotfiles

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

47
from ithinkihaveacat/dotfiles

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

47
from ithinkihaveacat/dotfiles

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

47
from ithinkihaveacat/dotfiles

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

47
from ithinkihaveacat/dotfiles

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

47
from ithinkihaveacat/dotfiles

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

144923
from affaan-m/everything-claude-code

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.

DevelopmentClaude

ui-demo

144923
from affaan-m/everything-claude-code

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.

Developer ToolsClaude

token-budget-advisor

144923
from affaan-m/everything-claude-code

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.

Productivity & Content CreationClaude

skill-comply

144923
from affaan-m/everything-claude-code

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

DevelopmentClaude

santa-method

144923
from affaan-m/everything-claude-code

Multi-agent adversarial verification with convergence loop. Two independent review agents must both pass before output ships.

Quality AssuranceClaude

safety-guard

144923
from affaan-m/everything-claude-code

Use this skill to prevent destructive operations when working on production systems or running agents autonomously.

DevelopmentClaude