android-emulator-qa — скилл для Codex: установка
Скилл проверяет сценарии Android-приложения в эмуляторе через adb. Подойдёт для навигации, поиска UI-багов, скриншотов и logcat.
npx skills add openai/plugins --skill android-emulator-qa -a codexЧто делает android-emulator-qa
android-emulator-qa помогает прогонять сценарии Android-приложения в эмуляторе. Скилл запускает приложение через adb, отправляет касания, свайпы, текст и возврат, изучает UI-дерево, делает скриншоты и собирает logcat.
Внутри есть команды для выбора эмулятора, сборки и установки варианта через Gradle, разрешения activity и запуска пакета. Для выбора координат используется UI-дерево: XML можно сохранить в файл, обработать скриптами ui_pick.py и ui_tree_summarize.py, затем выполнить действие через adb. Логи можно очистить, отфильтровать по процессу или сохранить в /tmp/logcat.txt.
Перед работой нужны Android-эмулятор, adb и проект, который можно собрать через Gradle. Ставить скилл стоит тем, кто проверяет Android-флоу из Codex или ChatGPT; для ручного тестирования без эмулятора он не нужен.
Какие задачи решает
- проверить сценарий функции в Android-эмуляторе
- воспроизвести UI-баг через adb-события
- найти элемент по UI-дереву и нажать его координаты
- снять скриншот после действия
- собрать logcat для процесса приложения
Примеры запросов агенту
- Проверь сценарий входа в Android-эмуляторе: установи нужный вариант, запусти activity и сделай скриншот каждого шага.
- Найди кнопку Settings через UI-дерево, вычисли координаты с помощью `ui_pick.py` и нажми её через adb.
- Очисти logcat, воспроизведи сбой и сохрани логи в `/tmp/logcat.txt`.
Как установить android-emulator-qa
1Через Skills CLI (Vercel)
npx skills add openai/plugins --skill android-emulator-qa -a codex2Вручную: положить файлы
.agents/skills/android-emulator-qa/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add openai/plugins --skill android-emulator-qa -a claude-code2Вручную: положить файлы
~/.claude/skills/android-emulator-qa/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/android-emulator-qa/
Вручную: положить файлы
.cursor/skills/android-emulator-qa/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install openai/plugins android-emulator-qa2Вручную: положить файлы
.github/skills/android-emulator-qa/SKILL.mdКомандой платформы
gemini skills install https://github.com/openai/plugins --path plugins/test-android-apps/skills/android-emulator-qaВручную: положить файлы
.devin/skills/android-emulator-qa/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора199
Весь набор →Похожие
Вопросы о android-emulator-qa
Как установить android-emulator-qa в Codex?
Выполните npx skills add openai/plugins --skill android-emulator-qa. Файл скилла появится по пути .agents/skills/android-emulator-qa/SKILL.md.
Что делает android-emulator-qa?
Скилл управляет Android-эмулятором через adb: запускает приложение, вводит данные, проверяет UI-дерево, делает скриншоты и собирает logcat.
Что нужно для работы android-emulator-qa?
Нужны Android-эмулятор и adb. Для установки приложения также потребуется Android-проект, который собирается через Gradle.
Исходный текст
SKILL.md · Apache-2.0
--- name: "android-emulator-qa" description: "Use when validating Android feature flows in an emulator with adb-driven launch, input, UI-tree inspection, screenshots, and logcat capture." --- # Android Emulator QA Validate Android app flows in an emulator using adb for launch, input, UI-tree inspection, screenshots, and logs. ## When to use - QA a feature flow in an Android emulator. - Reproduce UI bugs by driving navigation with adb input events. - Capture screenshots and logcat output while testing. ## Quick start 1) List emulators and pick a serial: - `adb devices` 2) Build and install the target variant: - `./gradlew :<module>:install<BuildVariant> --console=plain --quiet` - If unsure about task names: `./gradlew tasks --all | rg install` 3) Launch the app: - Resolve activity: `adb -s <serial> shell cmd package resolve-activity --brief <package>` - Start app: `adb -s <serial> shell am start -n <package>/<activity>` 4) Capture a screenshot for visual verification: - `adb -s <serial> exec-out screencap -p > /tmp/emu.png` ## adb control commands - Tap (use UI tree-derived coordinates): - `adb -s <serial> shell input tap <x> <y>` - Swipe: - `adb -s <serial> shell input swipe <x1> <y1> <x2> <y2>` - Avoid edges (start ~150-200 px from left/right) to reduce accidental back gestures. - Text: - `adb -s <serial> shell input text "hello"` - Back: - `adb -s <serial> shell input keyevent 4` - UI tree dump: - `adb -s <serial> exec-out uiautomator dump /dev/tty` ## Coordinate picking (UI tree only) Always compute tap coordinates from the UI tree, not screenshots. 1) Dump the UI tree to a step-specific file: - `adb -s <serial> exec-out uiautomator dump /dev/tty > /tmp/ui-settings.xml` 2) Find the target node and derive center coordinates (`x y`) from bounds: - Bounds format: `bounds="[x1,y1][x2,y2]"` - Helper script: - `python3 <path-to-skill>/scripts/ui_pick.py /tmp/ui-settings.xml "Settings"` 3) If the node is missing and there are `scrollable` elements: - swipe, re-dump, and re-search at least once before concluding the target is missing. 4) Tap the center: - `adb -s <serial> shell input tap <x> <y>` ## UI tree skeleton (helper) Use this helper to create a compact, readable overview before inspecting full XML. 1) Dump full UI tree: - `adb -s <serial> exec-out uiautomator dump /dev/tty > /tmp/ui-full.xml` 2) Generate summary: - `python3 <path-to-skill>/scripts/ui_tree_summarize.py /tmp/ui-full.xml /tmp/ui-summary.txt` 3) Review `/tmp/ui-summary.txt` to choose likely targets, then compute exact bounds from full XML. ## Logs (logcat) 1) Clear logs: - `adb -s <serial> logcat -c` 2) Stream app process logs: - Resolve pid: `adb -s <serial> shell pidof -s <package>` - Stream: `adb -s <serial> logcat --pid <pid>` 3) Crash buffer only: - `adb -s <serial> logcat -b crash` 4) Save logs: - `adb -s <serial> logcat -d > /tmp/logcat.txt` ## Package shortcuts - List installed packages: - `adb -s <serial> shell pm list packages` - Filter to your namespace: - `adb -s <serial> shell pm list packages | rg <company_or_app_id>` - Confirm the activity resolves before launching: - `adb -s <serial> shell cmd package resolve-activity --brief <package>`
© OpenAI · Apache-2.0 · openai/plugins