移动/游戏
用语义化脚本自动化 Android…
当需要在 Android 模拟器上构建、测试、自动化操作应用并管理模拟器生命周期时,用一套基于无障碍语义(文本/resource-id/class)而非像素坐标的脚本完成。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
用语义化脚本自动化 Android 应用通用
解决思路
- 先做环境健康检查:macOS/Linux 运行 bash scripts/emu_health_check.sh,Windows 运行 .\scripts\emu_health_check.ps1,检查 ADB、Emulator、Java、Gradle、ANDROID_HOME 并列出已连接设备。
- 用 python scripts/app_launcher.py --launch com.example.app 启动应用。
- 用 python scripts/screen_mapper.py 映射当前屏幕,列出可交互元素(通过 uiautomator dump UI 层级并解析 XML 识别按钮、文本框等),可加 --verbose 或 --json。
- 用 python scripts/navigator.py --find-text "Login" --tap 按文本(模糊匹配)查找并点击元素;也可用 --find-id 或按 class 名查找,用 --enter-text 输入文本。
- 用 python scripts/gesture.py 执行滑动、滚动等手势,支持 --swipe、--scroll、--duration。
- 用 python scripts/keyboard.py 发送按键事件(Home、Back、Enter、Tab)或通过 ADB 输入文本,使用 --key、--text。
- 用 python scripts/app_launcher.py 管理应用生命周期:--launch 启动、--terminate 强制停止、--install/--uninstall 安装卸载 APK、--list 列出已安装包。
- 用 python scripts/build_and_test.py 构建 Android 项目并运行测试(封装 Gradle,支持 assemble、install、connectedCheck,解析构建错误与测试结果),可用 --task、--clean、--json。
- 用 python scripts/log_monitor.py 实时监控日志(封装 adb logcat),按 --package、--tag、--priority 过滤,去重重复消息,可设 --duration 与 --json。
- 用 python scripts/emulator_manage.py 管理 AVD:--list 列出可用 AVD、--boot 启动模拟器、--shutdown 关闭模拟器。
- 所有脚本支持 --help 查看详细选项、--json 输出机器可读结果;默认输出为简洁的人类可读格式。
- 设备选择:仅连接一个设备/模拟器时脚本自动定位;连接多个时需用 -s <serial> 指定。
- 依赖环境:Android SDK Platform-Tools(adb、fastboot)、Android Emulator、Java/OpenJDK、Python 3。
适用边界 · 注意事项
- 需要非 Android 平台(iOS、Web、桌面)测试时。
- 未安装 Android SDK、模拟器、Java 或 Python 3 的环境。
- 需要基于像素坐标或图像识别的精确点击场景(本技能采用语义导航)。