Android adb发送事件不工作
我想以最快的方式在android设备上模拟触摸。 我认为最快的是低级别(sendevents)。 我尝试了“shell输入点击”,但速度太慢了 为此,我做了:Android adb发送事件不工作,android,debugging,adb,Android,Debugging,Adb,我想以最快的方式在android设备上模拟触摸。 我认为最快的是低级别(sendevents)。 我尝试了“shell输入点击”,但速度太慢了 为此,我做了: adb shell getevent 我已经复制了我的触摸事件的输出: /dev/input/event1: 0003 0039 00000867 /dev/input/event1: 0003 0035 00000095 /dev/input/event1: 0003 0036 00000233 /dev/input/event1:
adb shell getevent
我已经复制了我的触摸事件的输出:
/dev/input/event1: 0003 0039 00000867
/dev/input/event1: 0003 0035 00000095
/dev/input/event1: 0003 0036 00000233
/dev/input/event1: 0001 014a 00000001
/dev/input/event1: 0000 0000 00000000
/dev/input/event1: 0003 0039 ffffffff
/dev/input/event1: 0001 014a 00000000
/dev/input/event1: 0000 0000 00000000
之后,我编写了一个简单的python脚本来运行sendevents
def sendevent (device,event):
command = "adb -s " + device + " shell sendevent /dev/input/event1 " + event
print (command)
os.popen(command)
def touch_position():
sendevent("fbc690357d04","0003 0039 00000867")
sendevent("fbc690357d04","0003 0035 00000095")
sendevent("fbc690357d04","0003 0036 00000233")
sendevent("fbc690357d04","0001 014a 000000010")
sendevent("fbc690357d04","0000 0000 00000000")
sendevent("fbc690357d04","0003 0039 ffffffff")
sendevent("fbc690357d04","0001 014a 00000000")
sendevent("fbc690357d04","0000 0000 00000000")
它现在正在工作,因为我看不到任何触摸!
你能帮我吗 当您使用
getevent
记录事件时,它将以十六进制表示法给出输出,因此您需要将它们转换为十进制值。在python中,可以使用int('string',16)
将十六进制的字符串转换为十进制