为啥 VTS 失败并出现不准确的 adb 错误?
Posted
技术标签:
【中文标题】为啥 VTS 失败并出现不准确的 adb 错误?【英文标题】:Why VTS fails with inaccurate adb error?为什么 VTS 失败并出现不准确的 adb 错误? 【发布时间】:2018-06-22 09:32:55 【问题描述】:我运行 VTS 测试套件,但我的测试 100% 失败并出现此一致错误:
AdbError: Error executing adb cmd 'adb -s 10.1.1.5:5555 reverse tcp:5010 tcp:1489'. ret: 1, stdout: , stderr: error: more than one device/emulator
AdbError: Error executing adb cmd 'adb -s 10.1.1.5:5555 reverse tcp:5010 tcp:1922'. ret: 1, stdout: , stderr: error: more than one device/emulator
AdbError: Error executing adb cmd 'adb -s 10.1.1.5:5555 reverse tcp:5010 tcp:4950'. ret: 1, stdout: , stderr: error: more than one device/emulator
AdbError: Error executing adb cmd 'adb -s 10.1.1.5:5555 reverse tcp:5010 tcp:1566'. ret: 1, stdout: , stderr: error: more than one device/emulator
AdbError: Error executing adb cmd 'adb -s 10.1.1.5:5555 reverse tcp:5010 tcp:7793'. ret: 1, stdout: , stderr: error: more than one device/emulator
AdbError: Error executing adb cmd 'adb -s 10.1.1.5:5555 reverse tcp:5010 tcp:4126'. ret: 1, stdout: , stderr: error: more than one device/emulator
AdbError: Error executing adb cmd 'adb -s 10.1.1.5:5555 reverse tcp:5010 tcp:3753'. ret: 1, stdout: , stderr: error: more than one device/emulator
消息是stderr: error: more than one device/emulator
,但如果我用adb devices
列出,我只会得到一台设备
List of devices attached
10.1.1.5:5555 device
在 VTS 提示符中相同:
vts-tf > l d
Serial State Allocation Product Variant Build Battery
10.1.1.5:5555 ONLINE Allocated dev_prod dev_prod 6/22/2018.025 100
我与被测设备的连接不是通过 USB 而是通过以太网。
为什么adb
看到more than one device/emulator
,因为事实并非如此?
有谁知道端口5010
服务于什么以及为什么被重定向(reverse
)到随机端口1489, 1922, 4950
等?
【问题讨论】:
【参考方案1】:似乎它不适用于通过以太网的adb
连接,您需要通过 USB 的adb
连接。
由于构建是在服务器上,我发现此解决方法可在通过 USB 直接连接到 DUT 的机器上运行 vts,执行以下步骤:
1) 重启 DUT
2) 杀死旧的adb
并检查 USB 是否已连接
sudo killall -9 adb
adb devices
3) 然后尝试通过sshfs
挂载从服务器上的构建运行 vts:
sudo apt-get install sshfs
mkdir android
sudo groupadd fuse
sudo modprobe fuse
sudo adduser $USER fuse
fusermount -uz ./android
sshfs user@server:/storage/user/android-build/ ./android
cd android
cd ./out/host/linux-x86/vts/android-vts/tools/
pushd `pwd` && cd ./out/host/linux-x86/bin && export PATH=$PATH:$(pwd) && popd
./vts-tradefed
【讨论】:
以上是关于为啥 VTS 失败并出现不准确的 adb 错误?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Flutter 构建失败并出现错误无法解析配置“:app:debugRuntimeClasspath”的所有文件
为啥会出现以下错误:“尝试附加到数据库失败,并显示以下信息:用户 'x\x' 登录失败。?