Android 如何模拟安卓点击,非常快

Android 如何模拟安卓点击,非常快,android,performance,simulate,Android,Performance,Simulate,我一直在尝试在触摸屏上模拟android轻触,但速度非常快。 我希望抽头在一条线上,所以我固定y值,然后用模1080增加x值100 我很明确地说,我真的不在乎它“确切地”击中哪里。我想用一堆热门歌曲扫一条线 我试过输入法,但速度太慢了。我还使用shell脚本尝试了sendevent方法(直接从手机上运行),但速度太慢。我需要脚本来模拟40Hz左右的敲击声,或者类似的声音 我读到我们可以直接写入/dev/input/event5并直接发送字节(显然sendevent一直在打开和关闭/dev/inp

我一直在尝试在触摸屏上模拟android轻触,但速度非常快。 我希望抽头在一条线上,所以我固定y值,然后用模1080增加x值100

我很明确地说,我真的不在乎它“确切地”击中哪里。我想用一堆热门歌曲扫一条线

我试过输入法,但速度太慢了。我还使用shell脚本尝试了sendevent方法(直接从手机上运行),但速度太慢。我需要脚本来模拟40Hz左右的敲击声,或者类似的声音

我读到我们可以直接写入/dev/input/event5并直接发送字节(显然sendevent一直在打开和关闭/dev/input/event5,这很慢)

你认为有可能吗?如果有,怎么可能?我可以用脚本达到这个速度(~40Hz),还是应该试着构建一个C程序

多谢各位

编辑:我已经有了模拟抽头的序列:

sendevent /dev/input/event5 1 330 1
sendevent /dev/input/event5 3 53 $current_x
sendevent /dev/input/event5 3 54 $y
sendevent /dev/input/event5 0 0 0
sendevent /dev/input/event5 1 330 0
sendevent /dev/input/event5 0 0 0
但我不知道如何将其转换为十六进制,直接发送到/dev/input/event5

Edit2:我用printf做了类似的尝试

#sendevent /dev/input/event5 1 330 1
printf "%04x%04x%08x\n" "1" "330" "1" >> /dev/input/event5

#sendevent /dev/input/event5 3 53 $current_x
printf "%04x%04x%08x\n" "3" "53" "$current_x" >> /dev/input/event5

#sendevent /dev/input/event5 3 54 $y
printf "%04x%04x%08x\n" "3" "54" "1700" >> /dev/input/event5

#sendevent /dev/input/event5 0 0 
printf "%04x%04x%08x\n" "0" "0" "0" >> /dev/input/event5

#sendevent /dev/input/event5 1 330 0
printf "%04x%04x%08x\n" "1" "330" "0" >> /dev/input/event5

#sendevent /dev/input/event5 0 0 0
printf "%04x%04x%08x\n" "0" "0" "0" >> /dev/input/event5
但我觉得printf返回的是字符串,而不是十六进制值

Edit3:我尝试了一些位移位:

#sendevent /dev/input/event5 1 330 1
#printf "%04x%04x%08x\n" "1" "330" "1" >> /dev/input/event5
echo $(((1<<16) + 330)) >> /dev/input/event5
echo $((1)) >> /dev/input/event5

#sendevent /dev/input/event5 3 53 $current_x
#printf "%04x%04x%08x\n" "3" "53" "$current_x" >> /dev/input/event5
echo $(((3<<16) + 53)) >> /dev/input/event5
echo $current_x >> /dev/input/event5

#sendevent /dev/input/event5 3 54 $y
#printf "%04x%04x%08x\n" "3" "54" "1700" >> /dev/input/event5
echo $(((3<<16) + 54)) >> /dev/input/event5
echo $((1700)) >> /dev/input/event5

#sendevent /dev/input/event5 0 0 
#printf "%04x%04x%08x\n" "0" "0" "0" >> /dev/input/event5
echo $((0)) >> /dev/input/event5
echo $((0)) >> /dev/input/event5

#sendevent /dev/input/event5 1 330 0
#printf "%04x%04x%08x\n" "1" "330" "0" >> /dev/input/event5
echo $(((1<<16) + 330)) >> /dev/input/event5
echo $((0)) >> /dev/input/event5

#sendevent /dev/input/event5 0 0 0
#printf "%04x%04x%08x\n" "0" "0" "0" >> /dev/input/event5
echo $((0)) >> /dev/input/event5
echo $((0)) >> /dev/input/event5
#sendevent/dev/input/event5 1 330 1
#printf“%04x%04x%08x\n”1“330”1“>>/dev/input/event5
echo$((1/dev/input/event5)
echo$((1))>>/dev/input/event5
#sendevent/dev/input/event5 3 53$current\u x
#printf“%04x%04x%08x\n”3“53”$current\u x“>>/dev/input/event5
echo$((3/dev/input/event5)
echo$current\u x>>/dev/input/event5
#sendevent/dev/input/event5 3 54$y
#printf“%04x%04x%08x\n“3”54“1700”>>/dev/input/event5
echo$((3/dev/input/event5)
echo$((1700))>>/dev/input/event5
#sendevent/dev/input/event5 0
#printf“%04x%04x%08x\n“0”0“>>/dev/input/event5
echo$((0))>>/dev/input/event5
echo$((0))>>/dev/input/event5
#sendevent/dev/input/event5 1 330 0
#printf“%04x%04x%08x\n”1“330”0“>>/dev/input/event5
echo$((1/dev/input/event5)
echo$((0))>>/dev/input/event5
#sendevent/dev/input/event5 0
#printf“%04x%04x%08x\n“0”0“>>/dev/input/event5
echo$((0))>>/dev/input/event5
echo$((0))>>/dev/input/event5
但仍然没有。我不认为我应该发送64位的值,因为我得到:

echo $((1<<32))
1

echo$((1)你试过安卓吗?我不知道锻炼猴能帮我做什么。你能说得精确点吗?