fix(adb): improve iQOO12 Pro stability with dumpsys fallbacks, device binding, and screenshot fallback hardening#374
Open
ztxdcyy wants to merge 1 commit intozai-org:mainfrom
Conversation
- add dumpsys fallback chain for current app detection (incl. window displays)\n- auto-select healthy adb device when device_id is missing\n- pass selected device_id into ADB system checks\n- avoid false sensitive-screen classification on generic screenshot failures\n\nContext: observed on vivo iQOO 12 Pro where system sidebar/floating-window UI can break single dumpsys window parsing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
背景
在 vivo iQOO 12 Pro(Android/OriginOS)上执行任务(如“打开设置,然后停止”)时,出现不稳定中断。
设备环境
问题现象
dumpsys window单命令无法稳定拿到焦点 app。adb: more than one device/emulator,导致任务中断。Take_over。根因分析
dumpsys子命令输出,单一路径不可靠。device_id时,ADB 在多 transport 场景天然不稳定。修复内容
dumpsys window displays -> window windows -> window -> activity activities -> activity top。--device-id时自动选择首个健康设备(status=device),并在系统检查阶段也使用该设备。returncode/stderr,便于快速诊断。验证建议
python main.py --device-id <real_device_id> "打开设置,然后停止"more than one device/emulator中断。