有没有办法断开 USB 设备与 ADB 的连接?

新手上路,请多包涵

我有很多脚本使用 ADB 通过 Wi-Fi 和模拟器调试 Android 应用程序。当我从我的计算机通过 USB 为我的 Android 手机充电时出现问题:ADB 看到它并向我的手机而不是模拟器发送命令。 有没有办法断开 ADB 与通过 USB 充电的手机的连接? 我知道我只能通过 -e 开关向模拟器发送命令,以及通过 -s 开关将它们发送到特定设备。但是,这对我来说是不行的,因为如果我想实现这个设备选择功能,我必须重写很多脚本来添加更多的参数。我不需要变通办法,我只是好奇 Google 是否 强制 ADB 调试任何通过 USB 连接且在设置中启用了 USB 调试的手机,或者是否可以从 ADB 端的设备列表中删除特定的 USB 连接手机?当我运行 adb disconnect 时,USB 设备保持连接状态。

原文由 Vitalii 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.3k
2 个回答

用于内部存储的 USB 连接和用于调试的 adb 连接是两个独立的东西。

要禁用 adb - 您可以使用 adb disconnect 或简单地关闭 usb debuggingdeveloper options 下。

对于断开内部存储的 USB 连接,某些 ROM 具有该选项。例如,我现在拥有的 CM 13 允许连接 USB 只是为了充电。通常在其他 ROM 和 Stock ROM 上我没有看到这个选项,但你可以试试这个。 -> 如果您在锁定时通过 USB 连接设备,除非您解锁设备一次,否则内部存储将不可用。

原文由 Viral Patel 发布,翻译遵循 CC BY-SA 3.0 许可协议

ADB 现在不支持断开 USB 连接(版本 1.0.39)。

“adb disconnect”只能断开“adb connect”建立的TCP连接,不能断开USB连接。

您可以使用 push 和 reconnect 命令“断开”连接作为解决方法:

1.推送文件到手机

adb -s SERIAL push somefile /data/local/tmp

2.reconnect while push 还在进行中

adb -s SERIAL reconnect

SERIAL 表示在“adb devices”命令的输出中列出的序列号。

重复步骤1和2,稍等片刻,从“adb devices”的输出中可以发现该设备处于离线状态。

在 kill-server 和 start-server 之前,没有任何 adb 命令可以操作这个离线设备。

原文由 Peter 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题