为啥 adb 在设备字符串后返回离线?
Posted
技术标签:
【中文标题】为啥 adb 在设备字符串后返回离线?【英文标题】: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
【问题讨论】:
请参考以下链接以获得答案。更快:***.com/a/17095525/727654 这些答案中的大多数是“升级 adb”和/或“重新初始化东西”的一些变体。为我解决了这个问题的是克里斯蒂安的下面。 ADB 已切换到 wifi 模式,因此无法通过 USB 工作。我敢打赌很多人都有这个问题。 【参考方案1】:如果上述步骤均无效。通过wifi连接后我的设备仍然离线。我做了以下事情:
转到您的设备...
进入设置。
转到开发者选项。
只允许在充电模式下进行 adb 调试。
像往常一样重复这些步骤。即:
一个。仅在充电模式下连接您的 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】:尝试以下方法:
拔下 USB 并重新插入。
转到您设备的设置 -> 应用程序 -> 开发 并取消选中 USB 调试 模式,然后再次检查。
在您的 PC 上重新启动 adb。 adb kill-server 然后 adb 启动服务器
重新启动您的设备,然后重试。
【讨论】:
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')连接到设备时,它似乎经常发生。我找到了这个解决方案,它是一种解决方法,但确实有效。
-
断开 USB 连接(如果您通过 wifi 连接,则关闭设备 wifi)
关闭eclipse/其他IDE
检查正在运行的程序中的 adb.exe(Windows 中的任务管理器)。如果它正在运行,则终止它。
重启你的安卓设备
设备重启后,通过 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 调试最初在我的设备上处于活动状态)。
这些是我采取的补救措施:
-
禁用 USB 调试(设备未连接到 PC)
重新启用USB调试
现在连接到您的 PC,现在设备(不是 PC)上的弹出窗口会要求您对 PC 进行身份验证,就是这样...
adb devices 现在同时列出设备 id 和不脱机。
【讨论】:
这很可能是我遇到的问题,因为它只是在我升级到 4.2.2 时才开始,但是,无论我做什么,我都无法出现任何要求我验证。 我升级到最新的SDK,现在弹出了。【参考方案16】:您也可以尝试下载最新版本的adb
http://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】:-
确保设备已设置为 USB 调试
让 adb 客户端运行(例如,通过“adb usb”或 adb start-server”
让设备通过 USB 连接!!!
然后重新启动设备。
这总是让我的摩托罗拉 MB525 再次“在线”,在 adb 抱怨它会“离线”之后。顺便说一句,我正在使用 OSX。
【讨论】:
【参考方案20】: adb kill-server
adb start-server
解决了我的问题
【讨论】:
我曾经重新插入usb线,这个解决方案解放了我的双手。以上是关于为啥 adb 在设备字符串后返回离线?的主要内容,如果未能解决你的问题,请参考以下文章
Android 4.2.2 - adb 离线,即使在 SDK 升级后
装好了ADB,为啥还是提示waiting for device