我最近升级到 Android SDK 平台工具版本 28.0.2。版本信息:
$ adb version
Android Debug Bridge version 1.0.40
Version 28.0.2-5303910
使用 adb connect
命令时,我现在收到以下错误:
$ adb connect 192.168.1.20
missing port in specification: tcp:192.168.1.20
ADB 之前默认使用 TCP 端口 5555 连接到设备。我仍然可以通过指定此端口号连接到我的设备:
$ adb connect 192.168.1.20:5555
connected to 192.168.1.20:5555
但是,这对我来说有点不便,因为我习惯于只输入 IP 地址。有没有办法告诉这个版本的 ADB 默认使用 TCP 端口 5555?
原文由 Michael Dodd 发布,翻译遵循 CC BY-SA 4.0 许可协议
更新
此错误现已从 ADB 版本 1.0.41 开始修复,它是平台工具版本 29.0.4 的一部分。该错误的修复已于 2019 年 7 月 31 日 提交:
输入
adb connect 192.168.1.20
没有尾随端口号现在会导致 ADB 连接到目标设备,恢复以前的行为。旧答案
这似乎是 ADB 中的一个错误,于 2018 年 12 月或 2019 年 1 月引入。我认为这与最近对 socket_spec.cpp 中的 —
else
语句的更改有关。如果未指定端口值,则变量
port_value
初始化为 -1 并且不会更改。这个值也不会被android::base::ParseNetAddress
改变。如果ParseNetAddress
检查通过,那么我们总是会立即陷入错误捕获语句。