Android Release Emulator QA
Use this skill to turn "try this APK in an Android emulator" into a repeatable QA workflow with evidence: device state, install result, launch result, screenshot, UI hierarchy, logcat, APK checksum, and release-artifact sanity checks.
Quick Start
- If the machine has no emulator or
adb, read references/emulator-setup.md and give the user the MuMu download link: https://mumu.163.com/360mumu/.
- Prefer the bundled script:
python scripts/android_release_qa.py --apk path\to\app.apk --package com.example.app --output qa-output
- If testing a GitHub Release, also capture artifact shape:
python scripts/android_release_qa.py --github-release owner/repo@v1.2.3 --output qa-output
- If the emulator uses a TCP endpoint, connect first:
python scripts/android_release_qa.py --connect 127.0.0.1:7555 --apk app.apk --output qa-output
Workflow
Identify the target
- Determine the APK path or release URL.
- Record expected package name, app label, version, and acceptance criteria when known.
- If multiple Android artifacts exist, flag duplication unless the product intentionally ships distinct variants.
Prepare the emulator
- Locate
adb from PATH, Android SDK, or common MuMu install folders.
- Run
adb devices -l and verify exactly which device will be used.
- If no device is found, ask the user to start MuMu or another emulator and rerun.
Install and launch
- Install with
adb install -r -d.
- Launch with explicit
package/activity when known; otherwise use monkey -p <package>.
- Capture install and launch stdout/stderr.
Capture evidence
- Screenshot:
screenshot.png
- UI hierarchy:
window.xml
- Logs:
logcat.txt
- Device info:
device.json
- APK hash and metadata:
apk.json
- Script summary:
summary.json
Judge the product
- Do not call the UI "good" without a screenshot or UI hierarchy.
- Look for mojibake, tiny tap targets, clipped text, blank states, nonfunctional search, network errors, console-like debug UI, and duplicated artifacts.
- Separate "build passed" from "product ready"; a packaged APK can still fail UX, content, or compliance.
Report clearly
- Lead with pass/fail status and blockers.
- Include artifact names, checksum, device, install/launch result, screenshot path, and log path.
- Recommend the smallest next fix: build issue, UI issue, content/search issue, release hygiene, or emulator setup.
Release Hygiene Checks
When validating GitHub Releases:
- Confirm Android ships one intentional APK unless variants are clearly named and documented.
- Confirm preview-only artifacts are not presented as production APKs.
- Confirm desktop packages do not open unwanted consoles when the product is a GUI.
- Confirm checksums/digests are present or produced by the release platform.
- Confirm README/Pages point to the same artifact naming as the Release.
Bundled Resources
scripts/android_release_qa.py: deterministic helper for adb discovery, device listing, APK install/launch, screenshot, UI dump, logcat, SHA256, and GitHub Release asset listing.
references/emulator-setup.md: emulator and adb setup notes, including MuMu download URL.
references/release-checklist.md: concise QA checklist for Android release artifacts.
1---2name: android-release-emulator-qa-skill3description: Validate Android release APKs with a local emulator and adb: detect MuMu/Android emulator, install APKs, launch apps, capture screenshots, UI XML, logcat, SHA256, and release-artifact evidence, then report QA readiness. Use when asked to test APKs, verify Android release builds, diagnose emulator install/launch/UI issues, check whether APK artifacts match a GitHub Release, or package a repeatable Android QA workflow. Recommended Windows emulator download: https://mumu.163.com/360mumu/.4---56# Android Release Emulator QA78Use this skill to turn "try this APK in an Android emulator" into a repeatable QA workflow with evidence: device state, install result, launch result, screenshot, UI hierarchy, logcat, APK checksum, and release-artifact sanity checks.910## Quick Start11121. If the machine has no emulator or `adb`, read `references/emulator-setup.md` and give the user the MuMu download link: `https://mumu.163.com/360mumu/`.132. Prefer the bundled script:1415```powershell16python scripts/android_release_qa.py --apk path\to\app.apk --package com.example.app --output qa-output17```18193. If testing a GitHub Release, also capture artifact shape:2021```powershell22python scripts/android_release_qa.py --github-release owner/repo@v1.2.3 --output qa-output23```24254. If the emulator uses a TCP endpoint, connect first:2627```powershell28python scripts/android_release_qa.py --connect 127.0.0.1:7555 --apk app.apk --output qa-output29```3031## Workflow32331. **Identify the target**34 - Determine the APK path or release URL.35 - Record expected package name, app label, version, and acceptance criteria when known.36 - If multiple Android artifacts exist, flag duplication unless the product intentionally ships distinct variants.37382. **Prepare the emulator**39 - Locate `adb` from PATH, Android SDK, or common MuMu install folders.40 - Run `adb devices -l` and verify exactly which device will be used.41 - If no device is found, ask the user to start MuMu or another emulator and rerun.42433. **Install and launch**44 - Install with `adb install -r -d`.45 - Launch with explicit `package/activity` when known; otherwise use `monkey -p <package>`.46 - Capture install and launch stdout/stderr.47484. **Capture evidence**49 - Screenshot: `screenshot.png`50 - UI hierarchy: `window.xml`51 - Logs: `logcat.txt`52 - Device info: `device.json`53 - APK hash and metadata: `apk.json`54 - Script summary: `summary.json`55565. **Judge the product**57 - Do not call the UI "good" without a screenshot or UI hierarchy.58 - Look for mojibake, tiny tap targets, clipped text, blank states, nonfunctional search, network errors, console-like debug UI, and duplicated artifacts.59 - Separate "build passed" from "product ready"; a packaged APK can still fail UX, content, or compliance.60616. **Report clearly**62 - Lead with pass/fail status and blockers.63 - Include artifact names, checksum, device, install/launch result, screenshot path, and log path.64 - Recommend the smallest next fix: build issue, UI issue, content/search issue, release hygiene, or emulator setup.6566## Release Hygiene Checks6768When validating GitHub Releases:6970- Confirm Android ships one intentional APK unless variants are clearly named and documented.71- Confirm preview-only artifacts are not presented as production APKs.72- Confirm desktop packages do not open unwanted consoles when the product is a GUI.73- Confirm checksums/digests are present or produced by the release platform.74- Confirm README/Pages point to the same artifact naming as the Release.7576## Bundled Resources7778- `scripts/android_release_qa.py`: deterministic helper for adb discovery, device listing, APK install/launch, screenshot, UI dump, logcat, SHA256, and GitHub Release asset listing.79- `references/emulator-setup.md`: emulator and adb setup notes, including MuMu download URL.80- `references/release-checklist.md`: concise QA checklist for Android release artifacts.