【问题标题】:ADB process hang while trying to run 'adb reboot' over ADB WLAN connection尝试通过 ADB WLAN 连接运行“adb reboot”时 ADB 进程挂起
【发布时间】:2013-10-31 15:20:03
【问题描述】:

这是我的步骤:

adb connect '我的安卓 IP 地址'

已连接

adb reboot //在这一步我的手机正在重启,进程挂起。

可能是什么问题,是否有任何修复或解决方法?

当我使用 USB 电缆处理 ADB 时,它运行良好。

谢谢

【问题讨论】:

  • 我发现@chris-stratton 的答案在这里非常准确;连接永远不会关闭。假设您正在运行 linux,我一直在使用类似 adb -s 192.168.2.51:5555 reboot & ( sleep 5 && adb disconnect 192.168.2.51 ) 的方法修改以下解决方法,它会触发重新启动并允许一段时间过去,然后强行终止与该特定设备的连接。

标签: android shell adb


【解决方案1】:

有点猜测,但adb reboot 可能会突然关闭手机,以至于手机上的 ADBD 永远无法正确关闭与开发机器上的 ADB 服务器的 TCP 连接。这很像拔出网络电缆可能导致“挂起”的 TCP 连接的方式 - TCP 旨在承受间歇性通信故障,因此不会放弃另一端应答的可能性,直到相当大的已经过去了多少时间(以人类而言)。

完全有可能编写 ADB 服务器时没有考虑到两个功能的组合,这两个功能甚至单独有点晦涩难懂 - TCP 连接与重启。

如果是这种情况,您的实际选择可能是在发出重新启动后立即终止 ADB 服务器,或者修改 ADB(毕竟它是开源的)以更智能地处理此问题,例如在如果它已发出重置命令,则第二或两次无响应。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 2016-12-09
    • 2017-07-28
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多