我目前有一个应用程序,我在主活动上按下按钮,然后进行数据收集。我需要在多个设备上同时执行此操作。目前,我只是尝试通过按下按钮的时间来手动执行此操作(同时按下每个设备上的手指)。显然,这对于超过2个设备实际上并不起作用。
我想知道是否有办法在我的电脑上同时在设备上运行该方法(在按下按钮时调用)?
我已经看到许多答案使用Appium进行这种实现,但是,这似乎对我需要的东西来说太多了。有没有办法通过命令行(adp)运行它?或者甚至只设置一个小型服务器,设备连接到该方法的位置?
谢谢。
答案 0 :(得分:1)
您可以使用adb通过命令行单击按钮,但您需要有x和y坐标。
adb shell input tap x y
答案 1 :(得分:0)
我添加了代码,以便在按下某个键时运行所需的方法。在下面的示例代码中,我使用了F12。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// KEYCODE_F12 = 142
if (keyCode == KeyEvent.KEYCODE_F12) {
findViewById(R.id.button).performClick();
}
return super.onKeyDown(keyCode, event);
}
F12的键码是142。
adb devices
用于获取已连接的设备ID。然后我可以使用adb将关键事件输入设备:
start adb -s device_id1 shell input keyevent 142
start adb -s device_id2 shell input keyevent 142
'开始'命令用于尽可能并行地尝试并运行adb命令,以减少设备的输入延迟。