【问题标题】:adb devices does not show my device every now and thenadb devices 不时不显示我的设备
【发布时间】:2013-09-20 06:19:59
【问题描述】:

有时当您执行 adb devices 时,它会列出您的设备,而下一次执行 adb devices 时,它不会显示我的设备。

我正在使用它来自动化工作流程,并且 adb 经常与我的 Nexus 断开连接,导致它失败。我在MAC上。我知道一种解决方案是重新启动 adb 服务器或重新连接设备,但我无法在工作流程之间使用这些解决方案

请帮忙

【问题讨论】:

    标签: android eclipse adb


    【解决方案1】:

    您可以尝试在终端上运行它

    adb kill-server

    adb start-server

    您需要为此获取 Android 调试桥 (ADB)。

    【讨论】:

      【解决方案2】:

      我不明白为什么您不能在工作流程中重新启动 ADB? 您能否提供您所拥有的任何东西,以便我们检查。如果您正在做一个使用 adb 命令的自动化/工具,您可以获得 adb 状态,并且根据该值,您可以做任何您需要做的事情。使用

      adb wait-for-device
      

      如果一段时间后无法访问设备,则抛出错误。

      【讨论】:

      • 自动化工作流程首先检查设备是否已连接。它通过 adb devices 执行此操作。如果设备已连接,则会触发自动化。之后,它等待它在设备上启动的应用程序的输出。如果设备在 之间断开连接,则它不会从设备获得任何输出并失败。我无法在两者之间重新启动 adb,因为要做到这一点,我必须使这个自动化工作流调用异步,并且需要添加一个同步调用来检查循环中的设备,这将使它变得乏味且不可靠
      • 有什么永久的解决方案让adb永远不会断开我的设备。
      • 你不能有另一个只检查 adb 状态的异步调用,并使用静态变量在这两个异步调用之间建立连接。
      • 即使永远不会发生断开连接,用户可能会断开他/她的设备,而您仍然需要控制机制
      • 我同意你建议的解决方案,并且可以添加每个检查。但我正在寻找一个更持久的解决方案,以便我的工作流程不会因为“找不到设备”问题而经常导致失败。有什么办法可以让我的 adb 始终找到我的设备并且永远不会断开连接。
      【解决方案3】:

      在命令提示符中调用 adb kill-server 然后调用 adb devices

      希望对你有用。

      【讨论】:

      • 我知道这个解决方案,但正如我所说,我不能在我的自动化工作流程之间使用它们。我需要一个更持久的解决方案,以便我的设备不会在两者之间断开连接
      【解决方案4】:

      如果设备通过 USB 进行物理连接,而 adb kill-server 无法解决问题,一种可能是您的设备未正确配置用于开发。运行“设置”,并确保:

      • “开发者选项”已开启。
      • “USB 调试”已开启。

      (两者都需要开启)。现在再次尝试重新启动 adb 服务器。

      过去我曾经遇到过类似的问题:有时adb devices 会列出我的设备,但有时却没有。当它没有列出我的设备时,我注意到“USB 调试”已(意外)被关闭。重新打开它为我解决了这个问题。当然,这只是可能不适用于您的情况的一种可能性。所以它只是你清单中的一项。

      【讨论】:

        【解决方案5】:

        我也遇到过类似的问题,更换USB线后就解决了。

        【讨论】:

        • 考虑将此作为评论而不是答案发布。在获得一定数量的声望点后,您将能够发布 cmets。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-27
        • 2015-05-10
        • 2013-12-19
        • 2018-02-21
        • 2012-01-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多