在多个设备上运行时,adb shell输入命令会更改

时间:2016-09-01 18:24:58

标签: android bash shell adb

我目前正在使用bash和adb在Android设备上自动配置。当我在一台设备上运行我的代码时,'adb shell输入tap xxx xxx'命令是100%准确的,并且能够很好地完成工作。

当我在多个设备上运行脚本时,坐标似乎发生了变化 - 设备开始点击屏幕上看似随机的位置,好像他们已经重新分配了新的位置。

逻辑上,这可能发生什么?脚本的相关部分如下。

DeviceConfig () {

      #Location
      ./adb -s "$usb" shell am start -n com.android.settings/.Settings
      ./adb -s "$usb" shell input tap 215 695
      ./adb -s "$usb" shell input tap 1210 55
      #Icons
      ./adb -s "$usb" shell am start -n com.estrongs.android.pop/.view.FileExplorerActivity
      sleep 7
      ./adb -s "$usb" shell input tap 165 500
      ./adb -s "$usb" shell input tap 165 500
      ./adb -s "$usb" shell input tap 165 500
      ./adb -s "$usb" shell input tap 165 500
      sleep 1
      ./adb -s "$usb" shell input tap 155 150
      sleep 1
      ./adb -s "$usb" shell input tap 155 374
      sleep 1
      ./adb -s "$usb" shell input swipe 680 130 680 130 1500
      sleep 1
      ./adb -s "$usb" shell input tap 920 130
      sleep 1
      ./adb -s "$usb" shell input tap 1185 723
      sleep 1

}

for usb in $(./adb devices -l | awk '/ device usb:/{print $3}'); do DeviceConfig $usb ; done

1 个答案:

答案 0 :(得分:1)

我假设你在这里谈论相同的设备。

如果您的设备只是放置在水平表面的顶部 - 某些设备可能处于不同的显示方向模式,这会使您的坐标偏斜。

您可以确保所有设备都处于相同位置(让我们说直立),也可以在运行自动化之前将它们设置为固定方向。或者更好 - 停止使用绝对坐标进行模拟触摸。