Android:通过ADB屏幕触摸事件

引用此主题: http : //groups.google.com/group/android-beginners/browse_thread/thread/8a5d8fa9229114d2/ce6e604f52b5318f?pli=1

我知道以下将在设备上发送触摸事件(5,29)。

adb shell sendevent /dev/input/event0 3 0 5 adb shell sendevent /dev/input/event0 3 1 29 adb shell sendevent /dev/input/event0 1 330 1 adb shell sendevent /dev/input/event0 0 0 0 adb shell sendevent /dev/input/event0 1 330 0 adb shell sendevent /dev/input/event0 0 0 0 

但是,尝试在真实的设备上,这是行不通的。 (试过Nexus S,HTC G2扎根)

我用了

 cat /proc/bus/input/devices 

要么

 getevent 

找出哪个事件是触摸事件,并发送上面的代码,但没有运气。 (其实我尝试了所有的事件#,但没有一个工作)

如何在真实设备上使用ADB发送触摸事件?

对于重大事件,我知道有:

 input keyevent <event_code> 

有触摸事件吗?

我知道我可以录制/回放触摸事件。 但是,我要求以编程方式发送触摸事件。

Solutions Collecting From Web of "Android:通过ADB屏幕触摸事件"

在Froyo事件序列发生了变化,您可以在我的博客中find答案: http : //www.softteco.com/blog/android-low-level-shell-click-on-screen/

请参阅https://stackoverflow.com/a/18959385/1587329 (略有改动)的答案:

你可能想要像这样使用monkeyrunner :

 $ monkeyrunner >>> from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice >>> device = MonkeyRunner.waitForConnection() >>> device.touch(5, 29, MonkeyDevice.DOWN_AND_UP) 

你也可以做一个拖动,启动活动等。看看MonkeyDevice的api。

使用View类的dispatchTouchEvent(MotionEvent事件)方法发送触摸(向下,向上,向上)事件