Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 用ADB模拟触摸_Android_Touch_Adb - Fatal编程技术网

Android 用ADB模拟触摸

Android 用ADB模拟触摸,android,touch,adb,Android,Touch,Adb,我正在尝试使用批处理文件(.bat)和adb外壳发送触摸事件 我试图重新发送从adb shell getevents获取的事件,但即使命令没有错误地通过,它也无法工作。 有什么想法吗 如何使用ADB外壳在给定(x,y)坐标上模拟触摸事件和释放事件?由于它似乎会随着Android版本的不同而变化,我建议您遵循以下说明: 启动需要复制的转储运动事件: ~$ adb shell getevent | grep event2 grep对于过滤输出非常有用 不要复制运动事件 然后将转储中的所有十六进制值

我正在尝试使用批处理文件(.bat)和adb外壳发送触摸事件

我试图重新发送从adb shell getevents获取的事件,但即使命令没有错误地通过,它也无法工作。 有什么想法吗


如何使用ADB外壳在给定(x,y)坐标上模拟触摸事件和释放事件?

由于它似乎会随着Android版本的不同而变化,我建议您遵循以下说明:

  • 启动需要复制的转储运动事件:

    ~$ adb shell getevent | grep event2
    
    grep
    对于过滤输出非常有用

  • 不要复制运动事件

  • 然后将转储中的所有十六进制值转换为十进制值!:)


  • 要查找eventX为您提供的服务,请执行以下操作:

  • 启动终端和类型:

    ~$ adb shell getevent
    
  • 您将看到使用例如/dev/input/event4

  • 触摸屏一次
  • 您必须在触摸的瞬间看到event4、少量eventX和这些eventX之间

    将是您的输入界面,用于复制运动事件!:)


    .

    我设法在索尼xperia LT26i上模拟了这一事件 利用

    要捕获输入,然后将所有值从十六进制转换为十进制, 并将生成的序列放入shell脚本中

    adb shell sendevent /dev/input/event2 3 57 23710
    adb shell sendevent /dev/input/event2 3 53 329
    adb shell sendevent /dev/input/event2 3 54 1183 
    adb shell sendevent /dev/input/event2 3 52 0
    adb shell sendevent /dev/input/event2 0 0 0
    adb shell sendevent /dev/input/event2 3 57 4294967295
    adb shell sendevent /dev/input/event2 0 0 0
    
    我从链接论坛的帖子中得知,第2行和第3行正在设置X和Y位置 接下来的两行是触摸按压,下面的两行是触摸释放,我还没有弄清楚第一行的功能,但它需要工作。
    我希望这对您有用

    请提供完整的答案,而不仅仅是一个链接。链接可能会消失、更改等,因此答案将无法使用。该链接已更新,以包含以下适用于Android 2.2+(更简单!)“adb外壳输入tap x y”
    adb shell sendevent /dev/input/event2 3 57 23710
    adb shell sendevent /dev/input/event2 3 53 329
    adb shell sendevent /dev/input/event2 3 54 1183 
    adb shell sendevent /dev/input/event2 3 52 0
    adb shell sendevent /dev/input/event2 0 0 0
    adb shell sendevent /dev/input/event2 3 57 4294967295
    adb shell sendevent /dev/input/event2 0 0 0