android-emulator-skill

📁 new-silvermoon/awesome-android-agent-skills 📅 1 day ago
0
总安装量
2
周安装量
安装命令
npx skills add https://github.com/new-silvermoon/awesome-android-agent-skills --skill android-emulator-skill

Agent 安装分布

amp 2
opencode 2
kimi-cli 2
github-copilot 2
gemini-cli 2

Skill 文档

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
bash scripts/emu_health_check.sh

# 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.sh – Verify environment is properly configured

    • 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.