同时在多个设备上运行方法 - Android

时间:2017-04-03 13:49:22

标签: java android

我目前有一个应用程序,我在主活动上按下按钮,然后进行数据收集。我需要在多个设备上同时执行此操作。目前,我只是尝试通过按下按钮的时间来手动执行此操作(同时按下每个设备上的手指)。显然,这对于超过2个设备实际上并不起作用。

我想知道是否有办法在我的电脑上同时在设备上运行该方法(在按下按钮时调用)?

我已经看到许多答案使用Appium进行这种实现,但是,这似乎对我需要的东西来说太多了。有没有办法通过命令行(adp)运行它?或者甚至只设置一个小型服务器,设备连接到该方法的位置?

谢谢。

2 个答案:

答案 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命令,以减少设备的输入延迟。