
Description
Use when validating Android feature flows in an emulator with adb-driven launch, input, UI-tree inspection, screenshots, and logcat capture.
SKILL.md
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
- List emulators and pick a serial:
adb devices
- Build and install the target variant:
./gradlew :<module>:install<BuildVariant> --console=plain --quiet- If unsure about task names:
./gradlew tasks --all | rg install
- 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>
- Resolve activity:
- 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.
- Dump the UI tree to a step-specific file:
adb -s <serial> exec-out uiautomator dump /dev/tty > /tmp/ui-settings.xml
- 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"
- Bounds format:
- If the node is missing and there are
scrollableelements:- swipe, re-dump, and re-search at least once before concluding the target is missing.
- 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.
- Dump full UI tree:
adb -s <serial> exec-out uiautomator dump /dev/tty > /tmp/ui-full.xml
- Generate summary:
python3 <path-to-skill>/scripts/ui_tree_summarize.py /tmp/ui-full.xml /tmp/ui-summary.txt
- Review
/tmp/ui-summary.txtto choose likely targets, then compute exact bounds from full XML.
Logs (logcat)
- Clear logs:
adb -s <serial> logcat -c
- Stream app process logs:
- Resolve pid:
adb -s <serial> shell pidof -s <package> - Stream:
adb -s <serial> logcat --pid <pid>
- Resolve pid:
- Crash buffer only:
adb -s <serial> logcat -b crash
- 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>
More skills from the plugins repository
View all 600 skillsaccessibility-and-inclusive-visualization
make data visualizations accessible
Jun 30AccessibilityChartsData VisualizationDesignagent-browser
automate browser interactions for agents
Apr 6AgentsBrowser AutomationTestingagent-browser-verify
verify dev server output with automated browser
Apr 6Browser AutomationLocal DevelopmentTestingagents-sdk
build AI agents on Cloudflare Workers
Apr 6AgentsCloudflare WorkersSDKServerless +1ai-elements
build chat UIs with AI Elements
Apr 6FrontendReactshadcn/uiUI Components +1ai-gateway
configure Vercel AI Gateway
Apr 6AI InfrastructureCost OptimizationLLMPerformance +1
More from OpenAI
View publisherprior-auth-packet-builder
build healthcare prior authorization packets
openai-agents-python
Apr 16DocumentsHealthcareInsuranceRegulatory Complianceaspnet-core
build ASP.NET Core web applications
skills
Apr 12.NETASP.NET CoreBlazorC# +1chatgpt-apps
build ChatGPT Apps SDK applications
skills
Apr 12Apps SDKChatGPTMCPOpenAIcli-creator
build CLIs from API docs
skills
Apr 12API DevelopmentCLICodexcloudflare-deploy
deploy projects to Cloudflare
skills
Apr 12CloudflareCloudflare PagesCloudflare WorkersDeploymentdefine-goal
define and set measurable project goals
skills
May 23ProductivityProject ManagementStrategyTask Management