Skip to content
Back to skills

Android Emulator Cli Expert

ASecurity

Expert in `android emulator create/list/start/stop` — profiles, scripted emulator pools, Windows caveat. Use when using Android CLI tools for android emulator cli.

  • 9 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 8, 2026
developmentgoshellbashtestingapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add anubhavg-icpl/vibe --skill android-emulator-cli-expert --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Android Emulator Cli Expert?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Android Emulator Cli Expert
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/anubhavg-icpl-android-emulator-cli-expert/badge)](https://www.skillsdirectory.com/skills/anubhavg-icpl-android-emulator-cli-expert)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: android-emulator-cli-expert
description: Expert in `android emulator create/list/start/stop` — profiles, scripted emulator pools, Windows caveat. Use when using Android CLI tools for android emulator cli.
license: CC-BY-NC-SA-4.0
metadata:
  risk: unknown
  source: community
  kind: mode
  category: android-cli
  tags: [android, android-cli, emulator, avd, ci, testing, 2026]
---

# Android Emulator CLI Expert Mode

You are an expert in `android emulator`, the unified front-end to AVD creation and lifecycle. You replace the old `avdmanager`-then-`emulator` two-step with a single tool, and you script emulator pools cleanly for parallel UI testing.

## Core Capabilities

### Subcommand shape

```text
android emulator create [--list-profiles] [--profile=<profile-name>]
android emulator list
android emulator start <device-name>
android emulator stop  <device-serial-number>
```

### Profiles

A profile is a hardware archetype (screen size, density, RAM). The default is **`medium_phone`**. List all available:

```bash
android emulator create --list-profiles
# medium_phone, small_phone, pixel_8_pro, pixel_tablet, wear_round, ...
```

Pick one explicitly:

```bash
android emulator create --profile=pixel_tablet
```

> The CLI selects a sensible system image based on the profile and what's installed. Make sure the matching `system-images/...` package is installed via `android sdk install` first.

### Listing

```bash
android emulator list
# Prints AVD names known to this machine — what start/stop accept.
```

### Start / stop semantics

```bash
android emulator start medium_phone        # boots; returns once visible
adb devices                                # find serial: emulator-5554, ...
android emulator stop emulator-5554        # by serial, NOT by AVD name
```

`start` takes the **AVD name**; `stop` takes the **serial number** from `adb devices`. This is intentional — multiple AVDs of the same name can in principle be started, and each gets its own serial.

### Scripting emulator pools

```bash
# Boot two phones + a tablet for parallel test sharding
for a in phone-1 phone-2 tab-1; do
  android emulator start "$a" &
done
wait

# Discover serials
mapfile -t SERIALS < <(adb devices | awk '/emulator-/{print $1}')
echo "Pool: ${SERIALS[*]}"

# Tear down
for s in "${SERIALS[@]}"; do android emulator stop "$s"; done
```

## Workflow

```bash
# 1. Make sure a system image exists
android sdk install system-images/android-34/google_apis/x86_64

# 2. Create a profile-based AVD
android emulator create --profile=medium_phone

# 3. List & boot
android emulator list
android emulator start medium_phone

# 4. Use the device (deploy / inspect / capture)
adb devices
android run --apks=app/build/outputs/apk/debug/app-debug.apk

# 5. Tear down
android emulator stop emulator-5554
```

## Real Examples

### Headless CI emulator

```bash
android sdk install platforms/android-34 system-images/android-34/google_apis/x86_64
android emulator create --profile=medium_phone
android emulator start medium_phone &
# Wait for boot
until adb shell getprop sys.boot_completed 2>/dev/null | grep -q 1; do sleep 2; done
# Run UI tests against it
./gradlew connectedAndroidTest
android emulator stop emulator-5554
```

### Multi-form-factor smoke test

```bash
android emulator create --profile=small_phone
android emulator create --profile=pixel_tablet
android emulator create --profile=wear_round

for a in small_phone pixel_tablet wear_round; do
  android emulator start "$a" &
done
wait
adb devices    # three serials, run the same APK to all
```

### Discover what profiles exist on this CLI version

```bash
android emulator create --list-profiles
```

## Common Pitfalls

- **Windows: `android emulator` is currently disabled** in v0.7. Agents must detect Windows and either fall back to WSL or invoke a remote emulator host. (Documented as a known issue.)
- **`stop` by name fails.** `android emulator stop medium_phone` is invalid; you must pass `emulator-5554` (or whatever `adb devices` reports).
- **Missing system image.** `create` will succeed but `start` will fail with an opaque error if you didn't `android sdk install system-images/...` for the matching profile.
- **No boot-completed wait.** `start` returns when the emulator is visible, *not* when `sys.boot_completed=1`. Always poll `getprop` before you `adb install` or `android run`.
- **AVD name collision.** Re-running `create --profile=medium_phone` may fail if `medium_phone` already exists; remove or use a different profile.

## When to Use This Mode

Use `android emulator` over `avdmanager` + `emulator` directly:

- Always for agents — one binary, consistent flags, JSON-friendly output.
- For CI, because creation is one command instead of an interactive wizard.

Prefer Android Studio's Device Manager GUI when:

- A developer wants to interactively snapshot/restore states, change RAM live, or use the extended controls panel.

Prefer a real device when:

- Testing performance, sensors (real GPS, real camera), or vendor-specific behavior.

## Sources

- Overview of Android CLI (`emulator` section) — https://developer.android.com/tools/agents/android-cli
- Release notes (Windows known issue) — https://developer.android.com/tools/agents/android-cli/release-notes
- Announcement — https://android-developers.googleblog.com/2026/04/build-android-apps-3x-faster-using-any-agent.html

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.