2017-04-03 55 views
0

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

我想知道是否有方法让我在PC上同时在设备上运行该方法(即按下按钮时调用该方法)?

我见过很多答案使用Appium进行这种实现,但是,这似乎有点太多,我需要什么。有没有办法通过命令行(adp)运行?或者甚至只是设置一个小型服务器,让设备连接到调用该方法的地方?

谢谢。

+0

可以详细说明一下问题。什么是按钮 – SaiPawan

+0

@sai,编辑。希望这有助于。基本上我只是按下设备上的按钮来运行一个方法。我需要同时为多个设备执行此操作。 – Waddas

+0

r你做平行执行 – SaiPawan

回答

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命令尽可能到输入滞后减小到设备。

1

你可以通过命令行使用adb来点击按钮,但是你需要有x和y坐标。

adb shell input tap x y 
+0

我使用了一个按键事件而不是坐标,因为按钮的坐标不会与不同的设备相同。尽管如此,您启发了我的解决方案,非常感谢 – Waddas

相关问题