通过ADB将文本,按键和触摸事件发送到Android设备

示例

执行以下命令以将文本插入具有焦点的视图中(如果它支持文本输入)

6.0

在SDK 23+上发送文本

adb shell "input keyboard text 'Paste text on Android Device'"

如果已经通过adb以下方式连接到您的设备:

input text 'Paste text on Android Device'
6.0

在SDK 23之前发送文本

adb shell "input keyboard text 'Paste%stext%son%sAndroid%sDevice'"

不接受空格作为输入,请用%s代替。

发送事件

模拟按下硬件电源键

adb shell input keyevent 26

或者

adb shell input keyevent POWER

即使您没有硬件密钥,也可以使用akeyevent执行等效的操作

adb shell input keyevent CAMERA

发送触摸事件作为输入

adb shell input tap Xpoint Ypoint

发送滑动事件作为输入

adb shell input swipe Xpoint1 Ypoint1 Xpoint2 Ypoint2 [DURATION*]

* DURATION是可选的,默认为300ms。资源

通过在开发人员选项中启用指针位置来获取X和Y点。

ADB示例Shell脚本

要在Ubuntu中运行脚本,script.sh请在“创建”上单击鼠标右键,然后添加读/写权限,然后勾选“允许以程序形式执行文件”

打开终端仿真器并运行命令./script.sh

Script.sh

 for (( c=1; c<=5; c++ ))
    do  
       adb shell input tap X Y
       echo "Clicked $c times"
       sleep 5s
    done

有关事件编号的完整列表

  • 几个有趣事件的候选清单ADB Shell输入事件

  • 参考文档https://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_POWER。