【问题标题】:Why does adb return offline after the device string?为什么 adb 在设备字符串后返回离线?
【发布时间】:2011-12-31 01:06:11
【问题描述】:

我使用“adb devices”来获得以下结果。只有一台设备通过 USB 连接到 PC,但我们得到 8 行结果。

谁能给出原因?

WH96TNE00361    offline
WH96TNE00361    offline
WH96TNE00361    offline
WH96TNE00361    offline
WH96TNE00361    offline
WH96TNE00361    offline
WH96TNE00361    offline
WH96TNE00361    offline

【问题讨论】:

  • 请参考以下链接以获得答案。更快:stackoverflow.com/a/17095525/727654
  • 这些答案中的大多数是“升级 adb”和/或“重新初始化东西”的一些变体。为我解决了这个问题的是克里斯蒂安的下面。 ADB 已切换到 wifi 模式,因此无法通过 USB 工作。我敢打赌很多人都有这个问题。

标签: android usb adb device debug-mode


【解决方案1】:

如果上述步骤均无效。通过wifi连接后我的设备仍然离线。我做了以下事情:

转到您的设备...

  1. 进入设置。

  2. 转到开发者选项。

  3. 只允许在充电模式下进行 adb 调试。

  4. 像往常一样重复这些步骤。即:

    一个。仅在充电模式下连接您的 USB。 湾。打开命令写: - 亚行 tcpip 4455 - 亚行连接 192.168.1.11:4455 湾。断开 USB。

现在一切都对我有用。

【讨论】:

    【解决方案2】:

    我在这里发布我的问题以防万一对其他人有帮助。 我的问题是我的同事连接到同一个设备,而我无法连接到同一个设备。

    注意:Amazon Fire TV 通过 Wifi 连接时遇到了这个问题。

    有两种解决方案:

    很容易“断开”他的连接(对不起,伙计:)

    Restart the device
    adb kill-server
    adb start-server
    adb connect device-ip
    

    有点困难,但两个客户端可以使用同一个设备(使用不同的 TCP 端口)

    请看这个answer

    【讨论】:

      【解决方案3】:

      检查您正在运行的 ADB 版本是否比所连接设备上的操作系统版本新。对我来说,更新 ADB 有助于让设备联机。

      【讨论】:

        【解决方案4】:

        我所做的是多个不相关的软件包恰好安装了 adb.exe -- 特别是对我来说(在 Windoze 上),手机 OEM 驱动程序安装包“有用”也将 adb.exe 安装到 C:\ windows,并且这个目录出现在 %PATH% 早于我的 android SDK 的平台工具目录。不出所料,手机 OEM 驱动程序包中包含的 adb.exe 比更新的 android sdk 中的要旧得多。 所以 adb 对我来说工作得很好,直到有一天我为我的手机更新了 Windows 驱动程序。一旦我这样做了,绝对不会让我的手机状态从“离线”改变——但问题与驱动程序无关。只是驱动程序 package 已将不同的 adb.exe - 和一个更旧的 - 安装到具有更高优先级的目录中。 为了修复我的安装,我只是更改了 PATH 环境变量以使 sdk 的 adb.exe 具有优先权。 快速检查向我建议,“很多”不同的包都包含 adb.exe,因此请注意不要无意中将较旧的包插入到您的工具链中。

        我一定是真的老了:我从不记得有这么愚蠢的问题要花这么长时间才能发现。

        【讨论】:

          【解决方案5】:

          还要确保 adb 没有在您的进程中自动运行。如果它在那里,右键单击打开文件位置,找出启动它的原因,用火杀死它。从更新的 android sdk 平台工具运行更新的 adb。这是我的问题,希望对某人有所帮助。

          【讨论】:

            【解决方案6】:

            在浪费了几个小时之后,我更新了我的adb 版本,现在adb devices 显示我的设备在线,我可以再次在其上运行该应用程序。

            【讨论】:

              【解决方案7】:

              在将 adb 升级到 SDK 版本后,将设备设置为授权模式后,我使用 GT-N8010(三星平板电脑)使 adb 在 Android 4.4.2 上运行。

              ~/local/opt/Android/Sdk/platform-tools/adb
              Android Debug Bridge version 1.0.32
              

              虽然它无法使用:

              adb version   
              Android Debug Bridge version 1.0.31
              

              在 Ubuntu LTS 版本中发货:

              apt-cache show android-tools-adb  | grep Version
              Version: 4.2.2+git20130218-3ubuntu23
              

              这个链接可能会有所帮助

              Can't connect Nexus 4 to adb: unauthorized

              【讨论】:

                【解决方案8】:

                在客户的机器上安装了这个,结果发现他通过website 安装了一个过时的adb 版本,提供了adb​​ 和fastboot。有问题的客户端不想安装整个 SDK,因为感觉到膨胀 :S 。

                因此,如果您看到 offline,请确保您已下载并使用最新的 adb。我最终通过电子邮件向他发送了 adb 可执行文件。

                还值得检查您使用的 adb 是否在路径中是正确的。即在 Mac 上

                $ which adb
                /Users/me/dev/adt-bundle-mac-x86_64/sdk-macosx/platform-tools/adb 
                

                【讨论】:

                  【解决方案9】:

                  尝试以下方法:

                  1. 拔下 USB 并重新插入。

                  2. 转到您设备的设置 -> 应用程序 -> 开发 并取消选中 USB 调试 模式,然后再次检查。

                  3. 在您的 PC 上重新启动 adb。 adb kill-server 然后 adb 启动服务器

                  4. 重新启动您的设备,然后重试。

                  【讨论】:

                  • 5.如果您的设备 >=4.2.2,请升级到最新的 SDK/adb
                  • 我解决了这个问题(在我的 Nexus 5 上),方法是转到通知区域,点击已连接的 USB 并取消选中“用作媒体”或其他内容。现在它在 adb 中正确显示。
                  • 在我的情况下,这仅仅是因为我的设备正在显示一个对话框“允许 RSA”,而我​​没有注意到:0。只允许“始终”,设备现在显示为“设备”而不是“离线”
                  • 在升级、尝试一切等之后,这对我有用。这是 scottastic 建议的,我将手机从 MTP 切换到 PTP(相机)设备,这带来了 RSA 提示。现在它作为 adb 连接。之后我什至可以将其切换回 MTP。
                  • 对我也不起作用。奇怪的是android studio检测设备没有问题,但我不能从命令行
                  【解决方案10】:

                  我遇到了同样的问题,其他答案都没有。当您使用 wifi 模式(运行命令 'adb tcpip 5555')连接到设备时,它似乎经常发生。我找到了这个解决方案,它是一种解决方法,但确实有效。

                  1. 断开 USB 连接(如果您通过 wifi 连接,则关闭设备 wifi)
                  2. 关闭eclipse/其他IDE
                  3. 检查正在运行的程序中的 adb.exe(Windows 中的任务管理器)。如果它正在运行,则终止它。
                  4. 重启你的安卓设备
                  5. 设备重启后,通过 USB 连接并运行“adb devices”。这应该启动 adb 守护进程。您应该会再次看到您的设备在线。

                  这个过程有点长,但它是唯一一个每次都对我有用的过程。

                  【讨论】:

                    【解决方案11】:

                    要完成前面的答案,另一种可能的解决方案是更改插入电缆的 USB 插座。

                    我遇到了这个问题(关于使用 adb kill-server / start-server 的经典答案不起作用)并且它解决了。

                    实际上,我花了一些时间才发现这一点,因为 Windows 正确识别了我的第一个套接字中的设备。但不是亚行。由于 Windows 正在识别该设备,我没有真正需要测试其他 USB 物理插座。我应该有。

                    因此,您可以尝试将电缆插入计算机上直接可用的所有 USB 物理插座。它确实对我有用。有时 USB 插座不是由计算机以相同的方式管理的。

                    【讨论】:

                    • 这对我有用!谢谢!因为我想把这该死的东西扔出窗外。我必须将其插入红色/粉色 USB 插槽 (3.0)
                    • 切换 USB 端口为我解决了这个问题,而没有其他办法。谢谢!
                    • Windows 8 在这里,无论出于何种原因,这也解决了我的问题!
                    • 这是给我的。我在机箱上使用了前面板 USB。在第二个前面板端口上,我连接了一个方向盘,因此它无法正常工作。当我断开轮子时,它工作正常。哦,它还可以与我可用的其他 50 个 USB 端口一起使用,甚至包括键盘端口。我用的那个渣男,没有。
                    【解决方案12】:

                    对于使用 Android 4.1.1 的我来说,只有重启设备才有效

                    【讨论】:

                      【解决方案13】:

                      运行 SDK Manager 并安装 Android SDK 工具和 Android SDK 平台工具更新。 ADB 必须更新到 4.2.x 的新版本

                      【讨论】:

                      • 就是这样。另外,请记住,有时您 [或其他人] 可能会将 adb 安装在不同的位置并在 /usr/bin 中创建符号链接。确保您运行的是正确的、更新的
                      【解决方案14】:

                      从 Android 4.2.2 开始,您必须在您的设备上确认它正在连接到受信任的计算机。它适用于 adb 1.0.31 及更高版本。

                      【讨论】:

                      • 这很可能是我遇到的问题,因为它只是在我升级到 4.2.2 时才开始,但是,无论我做什么,我都无法出现任何要求我验证。
                      • 我升级到了最新的 SDK(我有 1.0.29 什么的,现在我有 1.0.31(这就是你说的 1.0.3 的意思吗?),它现在弹出了。跨度>
                      • @crdx 确保您启用了“设置->开发人员选项->USB”调试。然后将您的设备连接到主机,然后您的设备应该会显示一个弹出窗口;您只需要确认您信任此主机。
                      • @Pointy 请看我上面对 crdx 的回答
                      • ... 但adb version 仅报告 1.0.29;这很奇怪,因为我几天前才安装它...
                      【解决方案15】:

                      在装有 Android 4.2.2 的 Galaxy Nexus 上,我最初遇到了同样的问题,“adb devices”显示设备但处于离线状态(USB 调试最初在我的设备上处于活动状态)。

                      这些是我采取的补救措施:

                      1. 禁用 USB 调试(设备未连接到 PC)
                      2. 重新启用USB调试
                      3. 现在连接到您的 PC,现在设备(不是 PC)上的弹出窗口会要求您对 PC 进行身份验证,就是这样...

                      adb devices 现在同时列出设备 id 和不脱机。

                      【讨论】:

                      • 这很可能是我遇到的问题,因为它只是在我升级到 4.2.2 时才开始,但是,无论我做什么,我都无法出现任何要求我验证。
                      • 我升级到最新的SDK,现在弹出了。
                      【解决方案16】:

                      您也可以尝试下载最新版本的adbhttp://developer.android.com/tools/help/adb.html

                      【讨论】:

                      • 如果您刚刚升级到Android 4.2.2,这是解决方案;他们添加了一个东西,您需要先将计算机列入白名单,然后才能调试手机,而旧的 SDK 不支持它
                      • 对我来说就是这样......我路径中的 adb 来自 4.2.1,而不是我的构建系统中的 4.2.2。
                      【解决方案17】:

                      重启设备。这总是在 Mac OS 上修复它,而 adb kill-server 没有。

                      【讨论】:

                        【解决方案18】:

                        我的一部手机也遇到了类似的问题。 我无法在我的任何计算机上连接和使用 USB 调试。 最后,我不得不手动重启手机上的usb调试[使用开发者菜单这样做是不够的]。

                        您只需在手机上运行一个命令 [我使用Terminal Emulator 应用程序完成了它]:

                        adb usb

                        就是这样。

                        希望这对将来的人有所帮助。

                        【讨论】:

                        • 这是我的问题。我通过键入“adb tcpip 5555”切换到通过 wifi 使用 ADB,然后在 wifi 关闭时尝试使用 ADB。如果您的设备上没有安装终端,您最终可能会陷入困境!疯了,默认情况下一个都没有。
                        • hmmm 我刚刚安装了终端模拟器并尝试使用该命令,但它说找不到该命令。您是如何设法在设备本身上获取 adb 命令的?
                        • @YasharBahman 嗯,刚刚输入了命令,我什么都不用做。在 Galaxy S2 和 S5 上测试。
                        【解决方案19】:
                        1. 确保设备已设置为 USB 调试
                        2. 让 adb 客户端运行(例如,通过“adb usb”或 adb start-server”
                        3. 让设备通过 USB 连接!!!
                        4. 然后重新启动设备。

                        这总是让我的摩托罗拉 MB525 再次“在线”,在 adb 抱怨它会“离线”之后。顺便说一句,我正在使用 OSX。

                        【讨论】:

                          【解决方案20】:
                           adb kill-server
                           adb start-server
                          

                          解决了我的问题

                          【讨论】:

                          • 我曾经重新插入usb线,这个解决方案解放了我的双手。
                          猜你喜欢
                          • 2020-08-21
                          • 1970-01-01
                          • 1970-01-01
                          • 2011-11-04
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          相关资源
                          最近更新 更多