Android 我可以使用adb模拟设备上的3个长抽头吗?

Android 我可以使用adb模拟设备上的3个长抽头吗?,android,Android,我试图使用adb在android设备上模拟3次(同时而非连续)长时间点击 我找到的最有希望的线索是,但我无法修改它以便使用它 有没有想过如何完成这样的壮举 谢谢。我也一直在做一些与此相关的工作;经过大量的研究,这是我所能做到的最好的了——它可以完全满足你的需要,但根据你的背景,它也有一些缺点 很简单,只需发送一个低级输入事件,例如: 模拟着陆事件 触摸事件后的等待就像用户的手指仍在设备上一样(即长按) 模拟触摸释放事件 语法 sendevent <device> <type&g

我试图使用adb在android设备上模拟3次(同时而非连续)长时间点击

我找到的最有希望的线索是,但我无法修改它以便使用它

有没有想过如何完成这样的壮举


谢谢。

我也一直在做一些与此相关的工作;经过大量的研究,这是我所能做到的最好的了——它可以完全满足你的需要,但根据你的背景,它也有一些缺点

很简单,只需发送一个低级输入事件,例如:

模拟着陆事件

触摸事件后的等待就像用户的手指仍在设备上一样(即长按)

模拟触摸释放事件

语法

sendevent <device> <type> <code> <value> 
sendevent

有关参数的更好文档,请参阅

优点:

  • 我发现使用sendevent命令而不是input命令要快得多,很可能是因为您可以发送感兴趣的特定低级事件
  • 你可以控制很多设备,比如触摸屏、键盘、按钮、温度计等等
缺点:

  • 您需要手动确定感兴趣的设备。在我的示例中,我使用了/dev/input/event4,但不要相信在您的设备上这是相同的。这些设备因手机而异,因此您可能需要使用命令getevent,然后手动确定哪个设备是您的触摸屏。这可能会成为一个真正的难题,特别是当你试图通过编程来确定任何android手机的触摸屏设备时,因为即使是设备名称在技术上也可能因手机而异
注意

如果您正在寻找一种更简单的发送点击的方法,可以使用以下命令

input tap <x> <y>
输入抽头
但请注意,您无法确定模拟按下的时间(即,不可能长按)


祝你好运

我找到了一个非常简单的方法来模拟长时间触摸。模拟在同一点上的滑动

input swipe <x1> <y1> <x2> <y2> [duration in milliseconds]
输入滑动[持续时间(毫秒)]
其中x1==x2,y1==y2


这将模拟一次刷卡,但由于起点和终点相同,它的作用就像是一次lng压力机

此线程是否未解决?如果您标记了一个已解决的问题,这将对其他用户和我有很大帮助。如果您找到了更好的解决方案,请与社区分享。谢谢。我用你的回答模拟了一个长点击,但是我没有同时模拟3个长点击。谢谢。我碰巧再次使用此解决方案,我想知道是否有改进。信息谢谢!但是,
getevent
需要根权限,因此这对99.9%的设备没有帮助。@k1ll3r8e请注意,我使用了
sendevent
并在无根设备上执行了此操作。我不确定现代操作系统的版本,但它在我当时的设备上工作。
input tap <x> <y>
input swipe <x1> <y1> <x2> <y2> [duration in milliseconds]