求可禁用触摸屏的ADB命令(适配Rooted USER_DEBUG_BUILD设备)
嘿,既然你的设备已经root且是USER_DEBUG_BUILD版本,那咱们可以直接从系统底层入手,用ADB命令彻底禁用触摸屏,这样外部的人为触摸就完全不会干扰你的Appium脚本执行了。下面是具体的操作方案:
禁用触摸屏的ADB命令方案(Rooted USER_DEBUG_BUILD设备)
第一步:定位触摸屏对应的Input设备节点
首先得确认触摸屏在系统里对应的设备文件,执行这条命令:adb shell getevent -lp在输出结果里找带有
ABS_MT_TOUCH_MAJOR的条目,它对应的设备路径就是/dev/input/eventX(X是数字,比如event2、event3),这就是咱们要操作的触摸屏节点。第二步:禁用触摸屏
借助root权限修改设备文件的权限,直接阻断外部触摸输入:adb shell su -c "chmod 000 /dev/input/eventX"把命令里的
eventX换成你第一步找到的实际数字(比如event2)。执行后触摸屏会完全失去响应,外部触摸操作再也不会干扰Appium脚本的运行。第三步:恢复触摸屏(测试完成后)
脚本执行完毕后,记得恢复触摸屏功能,执行这条命令即可:adb shell su -c "chmod 666 /dev/input/eventX"
额外提示
- Appium脚本的操作是通过系统事件注入实现的,不会受触摸屏禁用的影响,完全可以正常执行。
- 部分设备的触摸屏节点是固定的(比如多数手机是event2),但还是建议用
getevent -lp确认,避免误禁用其他输入设备(比如物理按键)。 - 因为你的设备是USER_DEBUG_BUILD,root权限的获取和使用不会有额外限制,命令可以直接生效。
内容的提问来源于stack exchange,提问作者ImSaleem




