mcpField
A
android-emulator-skill

android-emulator-skill

github.com/new-silvermoon测试与质量992552 次安装13 周前更新
代码仓库

关于 android-emulator-skill

面向 Android 开发者的技能,提供基于无障碍层级和语义元素的应用构建、测试与模拟器自动化脚本,避免依赖屏幕像素坐标。

主要功能

  1. 01Gradle 构建与测试
  2. 02按语义定位并操作界面
  3. 03手势与键盘输入
  4. 04应用安装及生命周期管理
  5. 05AVD 与环境检查

适用场景

  1. 01运行 Android 构建和连接设备测试
  2. 02按文本或资源 ID 操作应用界面
  3. 03查看并筛选应用日志
  4. 04启动或关闭模拟器

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/new-silvermoon/awesome-android-agent-skills --skill android-emulator-skill

安装后在 Claude Code 中输入/android-emulator-skill确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
app_launcher.py
build_and_test.py
common.py
emu_health_check.ps1
emu_health_check.sh
emulator_manage.py
gesture.py
keyboard.py
log_monitor.py
navigator.py
screen_mapper.py

详细介绍

Android 模拟器技能

使用基于无障碍功能的导航和结构化数据(而非像素坐标)来构建、测试和自动化 Android 应用。

快速入门

# 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 "[email protected]"

所有脚本都支持 --help 查看详细选项,并支持 --json 输出机器可读的数据。

生产脚本

构建与开发
  1. build_and_test.py - 构建 Android 项目、运行测试并解析结果

    • Gradle 的封装工具
    • 支持 assemble、install 和 connectedCheck
    • 解析构建错误和测试结果
    • 选项:--task、--clean、--json
  2. log_monitor.py - 实时监控日志并进行智能筛选

    • adb logcat 的封装工具
    • 按标签、优先级或 PID 筛选
    • 对重复消息去重
    • 选项:--package、--tag、--priority、--duration、--json
导航与交互
  1. screen_mapper.py - 分析当前屏幕并列出可交互元素

    • 使用 uiautomator 导出 UI 层级结构
    • 解析 XML 以识别按钮、文本字段等
    • 选项:--verbose、--json
  2. navigator.py - 通过语义查找并与元素交互

    • 按文本(模糊匹配)、resource-id 或类名查找
    • 支持交互式点击和文本输入
    • 选项:--find-text、--find-id、--tap、--enter-text、--json
  3. gesture.py - 执行滑动、滚动和其他手势

    • 向上、向下、向左或向右滑动
    • 滚动列表
    • 选项:--swipe、--scroll、--duration、--json
  4. keyboard.py - 按键事件和硬件按钮

    • 输入按键事件(Home、Back、Enter、Tab)
    • 通过 ADB 输入文本
    • 选项:--key、--text、--json
  5. app_launcher.py - 应用生命周期管理

    • 启动应用(adb shell am start)
    • 终止应用(adb shell am force-stop)
    • 安装/卸载 APK
    • 列出已安装的软件包
    • 选项:--launch、--terminate、--install、--uninstall、--list、--json
模拟器生命周期管理
  1. emulator_manage.py - 管理 Android 虚拟设备(AVD)

    • 列出可用的 AVD
    • 启动模拟器
    • 关闭模拟器
    • 选项:--list、--boot、--shutdown、--json
  2. emu_health_check - 验证环境配置是否正确

    • 在 macOS/Linux 上使用 emu_health_check.sh,在 Windows 上使用 emu_health_check.ps1
    • 检查 ADB、Emulator、Java、Gradle 和 ANDROID_HOME
    • 列出已连接的设备

常见模式

自动检测设备:如果只连接了一个设备/模拟器,脚本会将其作为目标;如果连接了多个设备/模拟器,则必须指定 -s <serial>。

输出格式:默认输出简洁易读的信息。使用 --json 可输出机器可读的数据。

要求

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

关键设计原则

语义导航:按文本、resource-id 或 content-description 查找元素。

Token 效率:默认输出简洁,并可选择详细模式和 JSON 模式。

零配置:适用于标准 Android SDK 安装。

评论

支持 Markdown