All skills
new-silvermoon avatar

/android-emulator-skill

@e5d0275

Production-ready scripts for Android app testing, building, and automation. Provides semantic UI navigation, build automation, log monitoring, and emulator lifecycle management. Optimized for AI agents with minimal token output.

Use this Skill: https://skilld.dev/gh/new-silvermoon/awesome-android-agent-skills/android-emulator-skill

This session only. Nothing lands on disk.

SKILL.md

≈63 tokens always: the name and description. ≈880 when used: this file.

Android Emulator Skill

Build, test, and automate Android applications using accessibility-driven navigation and structured data instead of pixel coordinates.

Quick Start

# 1. Check environment (use .sh on macOS/Linux, .ps1 on Windows)
bash scripts/emu_health_check.sh
# or on Windows: .\scripts\emu_health_check.ps1

# 2. Launch app
python scripts/app_launcher.py --launch com.example.app

# 3. Map screen to see elements
python scripts/screen_mapper.py

# 4. Tap button
python scripts/navigator.py --find-text "Login" --tap

# 5. Enter text
python scripts/navigator.py --find-type EditText --enter-text "user@example.com"

All scripts support --help for detailed options and --json for machine-readable output.

Production Scripts

Build & Development

  1. build_and_test.py - Build Android projects, run tests, parse results

    • Wrapper around Gradle
    • Support for assemble, install, and connectedCheck
    • Parse build errors and test results
    • Options: --task, --clean, --json
  2. log_monitor.py - Real-time log monitoring with intelligent filtering

    • Wrapper around adb logcat
    • Filter by tag, priority, or PID
    • Deduplicate repeated messages
    • Options: --package, --tag, --priority, --duration, --json

Navigation & Interaction

  1. screen_mapper.py - Analyze current screen and list interactive elements

    • Dump UI hierarchy using uiautomator
    • Parse XML to identify buttons, text fields, etc.
    • Options: --verbose, --json
  2. navigator.py - Find and interact with elements semantically

    • Find by text (fuzzy matching), resource-id, or class name
    • Interactive tapping and text entry
    • Options: --find-text, --find-id, --tap, --enter-text, --json
  3. gesture.py - Perform swipes, scrolls, and other gestures

    • Swipe up/down/left/right
    • Scroll lists
    • Options: --swipe, --scroll, --duration, --json
  4. keyboard.py - Key events and hardware buttons

    • Input key events (Home, Back, Enter, Tab)
    • Type text via ADB
    • Options: --key, --text, --json
  5. app_launcher.py - App lifecycle management

    • Launch apps (adb shell am start)
    • Terminate apps (adb shell am force-stop)
    • Install/Uninstall APKs
    • List installed packages
    • Options: --launch, --terminate, --install, --uninstall, --list, --json

Emulator Lifecycle Management

  1. emulator_manage.py - Manage Android Virtual Devices (AVDs)

    • List available AVDs
    • Boot emulators
    • Shutdown emulators
    • Options: --list, --boot, --shutdown, --json
  2. emu_health_check - Verify environment is properly configured

    • Use emu_health_check.sh on macOS/Linux and emu_health_check.ps1 on Windows
    • Check ADB, Emulator, Java, Gradle, ANDROID_HOME
    • List connected devices

Common Patterns

Auto-Device Detection: Scripts target the single connected device/emulator if only one is present, or require -s <serial> if multiple are connected.

Output Formats: Default is concise human-readable output. Use --json for machine-readable output.

Requirements

  • Android SDK Platform-Tools (adb, fastboot)
  • Android Emulator
  • Java / OpenJDK
  • Python 3

Key Design Principles

Semantic Navigation: Find elements by text, resource-id, or content-description.

Token Efficiency: Concise default output with optional verbose and JSON modes.

Zero Configuration: Works with standard Android SDK installation.

Source: SKILL.md on GitHub

2 warnings15d5 checks · Risk SAFE
  • Gen Agent Trust Hub15d

    The skill provides a collection of automation scripts for Android development and testing. It is fundamentally safe for its intended purpose but carries an inherent risk of indirect prompt injection from the untrusted UI data and system logs it processes from the connected device. It also facilitates the execution of local build scripts (gradlew) as part of its build automation workflow.

  • Socket15d

    No alerts

  • Snyk15d

    Risk: MEDIUM · 1 issue

  • Runlayer7mo

    5/11 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at e5d0275. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 months ago.

Steadyupdated 6 months ago
version
1.0.0

README badge

README badge for new-silvermoon/awesome-android-agent-skills/android-emulator-skill