我正在尝试为 linux 编写一个批处理(for win)和一个 shell 脚本,以在 android UI 上自动执行按键和触摸事件。目前在 Windows 批处理文件中,我正在为每个事件启动一个 adb shell,例如
:again
adb shell am start -a android.intent.action.MAIN -n com.q.me.fui.activity/.InitActivity
sleep 15
adb shell sendevent /dev/input/event0 3 0 281
adb shell sendevent /dev/input/event0 3 1 70
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
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
adb shell sendevent /dev/input/event0 0 0 0
adb shell sendevent /dev/input/event0 0 0 0
sleep 5
adb shell input keyevent 82
adb shell input keyevent 20
adb shell input keyevent 20
adb shell input keyevent 22
adb shell input keyevent 22
adb shell input keyevent 22
adb shell input keyevent 66
sleep 5
goto again
上面的代码实际上每次都启动一个新的 adb shell。我想避免这种情况。我希望我的批处理脚本只启动 adb shell 一次,并且我想将 sendevent 和其他命令路由到子 shell,即 adb shell。
知道如何在 win batch 和 Lin shell 脚本中做到这一点吗?