使用 ADB_DEVICE_ARG 指定设备序列号(RuntimeError)

Specify device serial using ADB_DEVICE_ARG (RuntimeError)

我是 运行 CirecleCi 上的 Calabash-android 测试。在 运行 测试中,我收到错误响应

It looks like your app is no longer running. 
It could be because of a crash or because your test script shuts it down.
Scenario: Home page and navigate to the registration page
                                                                                             # features/my_first.feature:3
More than one device connected. Specify device serial using   ADB_DEVICE_ARG (RuntimeError)
./features/support/app_installation_hooks.rb:18:in `Before'
App did not start (RuntimeError)
./features/support/app_life_cycle_hooks.rb:5:in `Before'

我使用命令

在 adb 上安装 apk
  • adb -s emulator-5554 install "pwd/Test.apk"

但即使在那之后出现上述错误。因为它是自动化的,所以我不能使用 calabash-android console 命令。有没有其他方法可以解决这个问题。感谢您提供各种帮助。

如果连接了多个设备(或模拟器),您需要在代码为 运行 的机器上为 ADB_DEVICE_ARG 设置一个环境变量。

我已经通过以下步骤解决了这个问题

- adb shell input keyevent 82 
- adb -s emulator-5554 install "`pwd`/Test.apk"
- export ADB_DEVICE_ARG=emulator-5554

这里第一个是解锁模拟器。我想缺少此代码不允许在模拟器上安装 apk 文件。在那之后,正如@alannichols 所说,我已经导出了 ADB_DEVICE_ARG,因此它正在工作。