argent-android-emulator-setup
About argent-android-emulator-setup
argent-android-emulator-setup is a skill that guides an agent through finding an available Android device, booting an AVD if needed, and using it with unified interaction tools. It also covers focus-based interaction on Android TV and emulator recovery precautions.
Key features
- 01Find ready Android devices
- 02Boot an AVD when needed
- 03Connect React Native devices to Metro
- 04Identify focus-based Android TV interaction
- 05Handle emulator shutdown and recovery safely
Use cases
- 01Preparing an Android emulator for app testing
- 02Connecting a device to React Native Metro
- 03Interacting with an Android TV emulator
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ software-mansion/ argent --skill argent-android-emulator-setupAfter installing, type/argent-android-emulator-setupin Claude Code to confirm it loaded.
Details
From the project README1. Prerequisites
- Android SDK Platform Tools on PATH: provides
adb. - Android Emulator on PATH: needed to boot AVDs. If you will only use an already-running emulator or a physical device, adb alone is sufficient.
- An AVD created via Android Studio or
avdmanager create avd.
Verify with adb version and emulator -list-avds.
2. Setup
- Find a ready device: call
list-devices. Filter for entries withplatform: "android". Ready devices (state: "device") come first. Pick the firstserial(e.g.emulator-5554) unless the user specified one. - Boot if needed: if nothing Android is ready, call
boot-devicewithavdName: <name>from the same call'savdslist. The tool transparently picks hot vs cold boot: it probes the AVD'sdefault_bootsnapshot, restores it under a tight deadline when usable, and falls back to a full cold boot otherwise. Hot path is typically ~30s; cold path takes 2–10 min. On any stage failure the tool kills the emulator process it started so your next call starts from a clean state. - Metro (for React Native): once a device is up, run
adb -s <serial> reverse tcp:8081 tcp:8081so the device can reach Metro on your host. Repeat if the device restarts.
3. Using the device
Pass the Android serial as udid to the unified interaction tools: gesture-tap, gesture-swipe, describe, screenshot, launch-app, keyboard, etc. Dispatch is automatic based on the id shape. See argent-device-interact for platform-neutral interaction tooling and the Android-specific gotchas section at the bottom of that skill.
4. Notes
- Android TV / leanback AVDs boot through this exact flow (same
boot-device+avdName), but they are focus-driven, not touch-driven; do not usegesture-tap/gesture-swipeon them.list-devicestags a leanback device withruntimeKind: "tv"(detected via the system feature list, not the serial: a TV AVD's serial looks just like a phone's). When you seeruntimeKind: "tv", drive it with the focus-driven tools (describe/tv-remote/keyboard) and theargent-tv-interactskill (it covers Android TV as well as Apple TV, including the full TV setup flow). - Serials are the adb device id. iOS UDIDs and Android serials are not interchangeable, but you do NOT need to tell the tools which platform: dispatch is automatic.
describeon Android returns a shallower tree than iOS (no accessibility-service equivalent), but covers most tap-target discovery.reinstall-appon Android always installs with-gso first-launch runtime permissions are pre-granted.- To stop the emulator, run
adb -s <serial> emu killfrom a shell (clean shutdown). Neverpkill -9/kill -9qemu: a hard kill leaves the userdata image dirty, after which cold boots can hang for many minutes doing recovery (runaway writes,boot_completednever flips). If an image gets into that state, boot once with-wipe-datato reset it.