You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让ADB在用户手动点击屏幕后自动触发后续input tap事件?

可行实现方案

方案1:交互式等待用户手动确认(最简单直接)

写个简单脚本,先执行第一次点击,然后暂停等你完成列表选择后手动触发后续操作:

  • Shell脚本(适配Linux/macOS/Windows WSL):
#!/bin/bash
# 执行第一次点击
adb shell input tap X1 Y1
# 提示操作完成后按回车
echo "请在设备上完成列表项选择,完成后按回车键继续..."
read
# 执行第二次点击
adb shell input tap X2 Y2

保存为auto_tap.sh,给执行权限(chmod +x auto_tap.sh)后运行即可。

  • Python脚本(跨平台):
import os

# 第一次点击
os.system("adb shell input tap X1 Y1")
# 等待用户确认
input("请在设备上完成列表项选择,完成后按回车键继续...")
# 第二次点击
os.system("adb shell input tap X2 Y2")

保存为auto_tap.py,直接运行即可。

方案2:自动检测界面状态触发(无需手动确认)

如果想完全自动化,不用手动按回车,可以通过检测设备界面变化判断用户是否完成选择:

  1. 先确定用户选择完成后,界面会出现的特征元素(比如某个按钮的文本、控件ID)
  2. 写脚本循环检测该元素,一旦检测到就执行第二次点击:
#!/bin/bash
# 执行第一次点击
adb shell input tap X1 Y1

# 循环检测目标元素(示例:检测文本为"确认"的按钮,需替换成你实际的元素特征)
while true; do
    adb shell uiautomator dump /dev/tmp/window_dump.xml
    adb pull /dev/tmp/window_dump.xml ./
    if grep -q "确认" window_dump.xml; then
        adb shell input tap X2 Y2
        rm window_dump.xml
        break
    fi
    # 每隔1秒检测一次
    sleep 1
done

注意:需要提前替换脚本里的检测逻辑,匹配你实际场景中选择完成后的界面特征。

方案3:监听设备触摸事件触发(进阶)

通过监听设备的触摸操作事件,检测到用户完成触摸动作后自动执行后续命令:

#!/bin/bash
adb shell input tap X1 Y1

# 监听触摸抬起事件(不同设备事件编码可能有差异,可先运行`adb shell getevent -lt`查看格式)
adb shell getevent -lt | while read line; do
    if echo "$line" | grep -q "EV_ABS.*ABS_MT_TRACKING_ID.*value -1"; then
        adb shell input tap X2 Y2
        break
    fi
done

这个方案无需依赖界面元素,只要检测到用户完成触摸操作就触发,适合无法通过界面特征判断的场景。


内容的提问来源于stack exchange,提问作者Sazzad Hissain Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 12:40:42