352

我无法再通过命令行或在Eclipse中使用ADB连接到我的设备。

运行命令

adb devices

返回设备名称,但它说它处于脱机状态。

我尝试过的事情。

  1. 切换 Android 调试模式
  2. 重新安装了 Google USB 驱动程序
  3. 将操作系统恢复到以前工作的备份(CyanogenMod
  4. 交换了 USB 线
  5. 多次重启手机/电脑
  6. 更新了 Android SDK

我真的不知道发生了什么。任何你认为我可以尝试的东西,我都在听。

需要明确的是,如果您遇到同样的问题,则问题可能是一个过时的 SDK。从 4.2.2 开始,有一项安全功能要求您确认连接设备的 RSA 指纹。打开 SDK 管理器并更新工具!然后重新启动。

4

65 回答 65

164

跑完试adb devicesadb kill-server。之后弹出安全问题。为我工作。

于 2013-03-12T17:51:17.197 回答
143

在我的Nexus 7Galaxy Nexus更新到 Android 4.2.2 后,我今天遇到了同样的问题。

为我解决的问题是将 SDK 平台工具升级到 r16.0.1。对我来说,这个版本没有显示在我的 SDK 管理器中,所以我直接从http://dl.google.com/android/repository/platform-tools_r16.0.1-windows.zip将其拉下来。

然后,您需要重命名platform-tools目录并将其解压缩为android-sdk-windows/platform-tools. 使用 SDK 管理器,在此之前我还更新到了最新的 sdk-tools。

如果您的整个 Eclipse 和ADT都是古老的,您可能还需要更新它们,但我不需要。

注意:您可能需要运行 SDK Manager 两次(一次自行更新)才能看到最新的软件包。

于 2013-02-21T11:01:55.840 回答
85

当您使用 Wi-Fi 模式连接到设备时(例如在 Android Studio 或控制台中运行),它似乎也经常发生adb tcpip 5555

修理:

  1. 断开 USB 连接 - 如果您通过 Wi-Fi 连接,则关闭设备的 Wi-Fi。
  2. 关闭 Android Studio/Eclipse/其他 IDE。
  3. 运行adb kill-server以确保 adb 未运行。
  4. 重新启动您的 Android 设备。
  5. 设备重启后,通过 USB 连接并运行adb devices. 这应该启动 ADB 守护进程。您的设备现在应该再次在线。
于 2013-05-30T07:52:59.010 回答
62

我在运行 4.2.2 OTA 更新的 Nexus 7 上遇到了同样的问题。我几乎可以肯定我在更新后通过 USB 和 Wi-Fi 建立了 ADB 连接,直到它停止工作。为了解决这个问题,我使用以下方法更新了我的 SDK:

android update sdk --no-ui

现在我的开发工具是:

  • SDK 版本 16.0.2
  • SDK 工具 21.1 版
  • SDK API 17,第 2 版
于 2013-02-27T22:41:58.610 回答
55

我不能强调切换 USB 端口是关键。通常前面板 USB 端口可能有缺陷。

于 2013-08-04T00:55:15.783 回答
40

对于任何想了解 4.2.2 的人,手机上会出现一个安全问题,要求使用 PC 进行 RSA 验证。确保您的工具已更新,并且您通过验证相关设备上的安全问题来允许 PC 访问。这为我修好了。

和往常一样,验证您是否在开发人员选项中启用了调试;)

于 2013-03-12T03:13:50.080 回答
23

尝试关闭 USB 调试一次,然后重新启用它,然后将您的设备与系统连接:link

于 2016-05-04T14:14:08.280 回答
21

多个 adb.exe 文件?

从C:/Windows/删除 OLD adb.exe 的副本后,我的问题得到了解决。我不知道adb.exe的副本是如何到达 C:\Windows\ 的?

当我从android-sdk/platform-tools/启动 adb.exe 时,检测没有问题。

于 2014-03-03T17:44:31.287 回答
18

我遇到了这个问题,其他答案都没有帮助。在更新 SDK 并安装 4.2.2 的 API 之后,需要运行的是:

android update adb

我遇到的另一个问题是我试图通过 Wi-Fi 连接 ADB,这是我唯一的选择,因为我 Mac 上的 USB 端口真的很麻烦。不幸的是,ADB over Wi-Fi 没有显示 4.2.2 中的安全问题,因此您需要找到可以工作的 USB 电缆并通过 USB 连接至少一次以接受安全问题,但在您这样做一次之后,您可以通过 Wi-Fi 连接。

于 2013-03-28T16:11:07.110 回答
18

如果您的设备通常通过 USB 连接,但突然停止工作,尤其是在 USB 电缆断开并重新连接后,请在执行其他答案中提到的一些更激烈的事情之前尝试以下非侵入性步骤:

adb kill-server
adb start-server
adb devices

如果您的设备旁边列出了“设备”,那么您就可以恢复营业了。

如果您的设备旁边列出了“离线”,请尝试重新启动设备。设备上的 ADB 守护程序有时会挂起。当我在LogCat运行时断开电缆以及从通过 Wi-Fi 或以太网连接切换回来后,我注意到这一点更多。

如果您的设备未列出,那么您应该尝试其他答案中的解决方案,从尝试不同的 USB 电缆和端口开始。那些便宜的电缆可能会变坏。

于 2013-09-29T07:23:33.423 回答
12

请务必在更新 SDK 工具后adb从您的文件夹中使用。platform-tools

在我意识到我使用的是复制/usr/bin.

于 2013-07-09T13:13:22.083 回答
9

我遇到了同样的问题,这对我来说是固定的。首先通过usb连接你的手机,然后确保你检查你的手机IP,它在设置>>关于手机>>状态下运行以下命令。


adb kill-server
adb start-server
adb tcpip 5555 //it resets port so put port you want to connect
adb connect 192.168.1.30:5555 //ip:port of your mobile to connect
adb devices //you will be connected over wifi

于 2019-05-06T07:33:22.383 回答
8

有时这可能是由于 adb 服务器错误(我认为)而发生的。它总是说

"device-name is offline" from adb devices command.

只需杀死服务器并重新开始。它对我有用。

"adb kill-server"
"adb start-server"
于 2014-08-25T02:23:00.220 回答
7

我使用adb connect <device_ip>并且没有其他解决方案有效,因为我的问题在另一边。在我需要的设备上stop adbd并重新启动它start adbd。设备现在再次“在线”。

于 2015-06-15T10:08:29.687 回答
6

我尝试了 dturvene 和所有其他解决方案,但没有奏效。我需要多一步。

运行这些命令

  1. adb kill-server
  2. android update sdk --no-ui
  3. adb start-server

要验证它是否有效,请在命令之前和之后运行“adb version”,并确保它是最新的。该adb kill-server命令的原因是它很可能正在运行,并且在运行时无法更新,因此您必须先将其杀死。

于 2013-05-12T15:18:24.503 回答
5

对我来说没有任何效果。我花了大约 12 个小时不断地在互联网上搜索并尝试对其他有类似问题的人有用的解决方案。

最后我只是通过局域网做亚行的事情。该设置就在 USB 调试设置旁边,在 ADB 中可以使用“adb connect [IPADDRESS]:[PORT]”激活它。我手机上的端口是 5555。

我希望这可以帮助某人重新开始工作,而不必处理不断的缺点。

于 2013-07-25T11:13:42.017 回答
5

这种方法对我有用:

  1. adb kill-server
  2. 在设备管理器中禁用离线设备(见下图)
  3. 在设备管理器中启用设备
  4. adb start-server

设备管理器,“查看”菜单,“按连接的设备”:

在此处输入图像描述

于 2014-07-30T11:41:17.773 回答
5

安装了最新的android sdk。
更改了设备的 USB 端口。
从 MTP -> Charge only -> MTP 更改。
有效。

于 2016-07-02T14:33:55.823 回答
4

我最初遇到了同样的问题(使用从GitHub下载的 ADB/fastboot ),但我最终让它工作了。什么对我有用:

  • 安卓 SDK。亚行版本:1.0.31
  • 使用前置 USB 端口(MacBook Pro 15")
  • 启用开发选项和 USB 调试后重新启动手机(通过 7 次点击设置 > 关于手机 > 构建)。
  • 如果未列出任何设备,则终止 adb 服务器 (adb kill-server)
  • 调试图标应该在手机上可见。
  • 请务必解锁锁定屏幕以检查 RSA 指纹确认对话框。
于 2013-07-08T06:04:13.753 回答
3

我认为最好的方法是从设备管理器禁用然后启用设备并运行 adb devices 命令。

  1. 转到开始选项卡并右键单击计算机
  2. 从下拉菜单中,单击管理
  3. 在计算机管理屏幕中,单击设备管理器
  4. 在右侧窗格中,展开便携式设备以找到您的设备
  5. 右键单击您的设备名称,然后单击下拉菜单上的禁用
  6. 当它被禁用时,除了启用它之外,重复步骤 5。

设备将重新联机。它更快。

于 2013-06-13T19:33:16.920 回答
3

如果您之前已经授权了您的 PC 的 RSA 指纹并尝试了 adb kill-server 等但没有成功,您的问题可能只是您在锁定时尝试连接它。尝试按下屏幕开启按钮并输入您的模式 - 这为我修复了它。

于 2013-06-27T09:48:09.883 回答
3

对于 ADB 连接不稳定的人,如果他们在 Mac 上并安装了Android File Transfer的另一种可能性:我发现文件传输干扰了我的 ADB 连接,导致它间歇性地停止工作。

终止Android File Transfer Agent.app寻找连接到 Mac 的兼容设备(例如,Nexus 7)的过程可以治愈我的脆弱。

于 2013-08-16T08:13:07.690 回答
3

由于没有人回答我的情况:您可能无法访问 ~/.android/adbkey 文件。如果您最初使用 sudo 启动 adb,它将生成一个公钥对,将其写入 ~/.android/adbkey.pub 和 ~/android/adbkey。当然,私钥是 chmod 600 - 仅对您的主目录中的 root 用户可读。随后以普通用户身份启动 adb 将无法访问私钥文件,这反过来会以“设备脱机”静默失败。

于 2014-08-02T07:08:00.200 回答
3

在 Mac 上为我解决的问题是更新adb到最新版本(1.0.32)。现在我可以再次在线看到我的设备

于 2015-07-13T12:08:34.707 回答
3

设备报离线的原因是adb连接不上。开发环境中的 adb 可执行文件创建与受控设备的连接(套接字)。设备有一个服务(守护进程)来监听这个通信。该守护程序称为 adbd(如 adbdaemon)。当在设备上启用 adb 时,实际上会启动此守护进程,因此可以与设备建立通信。

当设备被 adb 报告为脱机时,是因为守护程序不再运行或处于不接受连接的状态。如果网络在活动(网络)连接上出现故障,通常会发生这种情况。

我可以解决此问题的唯一方法是重新启动设备。可以通过许多其他方式来修复离线状态,但重新启动设备始终有效。

于 2018-07-03T10:02:15.113 回答
3

当我面临与以下相同的问题时:

  1. 通过在命令提示符下发出adb kill-serveradb start-server来重新启动 adb
  2. 在手机上禁用和重新启用 USB 调试
  3. 如果还是不行就重启手机。这些步骤解决了我 99% 的问题。
于 2019-09-16T07:10:12.373 回答
3

我尝试了上述所有解决方案。大多数情况下, adb kill-server 会解决这个问题。这次,问题出在 USB 电缆上。包装精美的劣质电缆不起作用。

于 2021-03-22T13:10:23.600 回答
3

我在尝试使用 Android 11 中内置的“无线 ADB”功能进行连接时偶然发现了这个问题。

我无法让它正确连接。始终显示为“离线”。

我所做的是:

首先断开所有 ADB 设备,这是一个很好的措施:

adb disconnect

然后在开发人员选项中,进入“无线 ADB”功能,如果你还没有的话。转到“使用 PIN 码配对”或类似内容。在那里,将在对话框中弹出一个IP 和端口,以及一个 pin。使用以下方式连接到手机:

adb pair 192.168.2.xxx:42838 # Put the IP and port of that dialog in this way

(请注意,主窗口和 PIN 弹出窗口上的端口一样)

您的 (PC) ADB 将提示您输入密码。键入它并按 ENTER。

完成后,手机上的 PIN 弹出窗口应该会消失,并且计算机名称应该会显示在主窗口的受信任设备列表中。

如果你走到这一步,下一步肯定会奏效。现在尝试使用以下方式连接到您的手机:

adb connect 192.168.2.xxx:53548 # This time use the port shown in the main window!

它应该连接,你很高兴。

于 2021-07-07T17:05:17.800 回答
2

我更新了很多次,直到我不能再更新了,但我的屏幕上从来没有提示过;我只是让设备离线。

我的问题是我正在从与实际更新的目录不同的目录运行 ADB 命令。

ADB exe 的正确更新目录是:

C:\Program Files (x86)\Android\android-sdk\platform-tools\
于 2013-05-07T10:30:38.700 回答
2

这只是因为您的计算机没有正确的驱动程序。要解决这个问题:

  1. 下载并解压 Android SDK

  2. 转到设备管理器(右键单击计算机->属性->设备管理器

  3. 在右侧窗格中展开便携式设备以找到您的设备

  4. 右键单击您的设备名称,然后单击更新驱动程序软件

  5. 浏览我的电脑以获取驱动程序软件

  6. 在步骤 1 中浏览到您的 Android SDK 文件夹。

  7. 接下来,你就完成了

于 2013-08-03T05:57:43.367 回答
2

尝试如下重启 adb 服务器:

adb kill-server

adb start-server

我也遇到了和你一样的问题。重新启动 adb 服务器将解决此问题。

于 2013-11-13T05:19:31.977 回答
2

重启设备。我尝试了此处列出的所有方法以使我的 HTC 手机(运行 Android 4.0.3)正常工作,但adb devices一直说它处于离线状态。重启手机后,终于上线了。这里的其他一些建议可能有助于手机被识别,但是在您尝试它们的过程中进行几次重启肯定不会受到伤害。

于 2014-01-02T22:54:40.723 回答
2

迟到了,但我发现最简单的方法就是去 DDMS 并按照图片所示进行操作......

在此处输入图像描述

于 2014-06-13T05:46:41.437 回答
2

尝试

adb usb 

我将连接方法更改为tcpip然后我想如果我杀死服务器并启动它,它将重置连接方法但它不会

这就是为什么以前的答案都不适用于我的情况

于 2016-04-07T00:21:44.143 回答
2

我很惊讶地发现我的解决方案没有在这里列出。

对我来说,我有一台 LG G3。手机必须使用 LG 的驱动程序连接。我去了

设备管理器>卸载 MTP 驱动程序

并立即 adb 在字面上没有 1 秒的时间工作。

于 2016-11-01T03:24:23.830 回答
2

为我工作:一开始它有效,一段时间后离线。我做了以下操作: adb kill-server adb start-server。再次用 USB 将手机插入 PC adb devices,提供空列表的输出。 adb tcpip 5555,adb connect <mobile wifi ip address> 然后又上线了。

于 2018-05-31T20:51:51.950 回答
2

最适合我的是:

  1. 拔下 USB 并重新插入。

  2. 使用adb devicesadb kill-server

  3. 有时,切换到计算机上的其他 USB 端口可以解决问题。

于 2021-02-28T00:03:08.560 回答
1

在尝试了两次之后,我将手机软件回滚到稳定版本,它终于可以工作了。我正在运行 Cyanogen nightlies。无论如何,此线程中发布的内容应该可以帮助遇到此问题的任何人。

于 2013-02-22T01:48:43.080 回答
1

我也遇到了这个问题。我更新了 Android SDK 管理器中的所有内容,使用设备管理器卸载了我的设备,现在它可以正常工作了。一路上我发出了一些“kill-server”和“start-server”......

于 2013-03-07T12:13:45.307 回答
1

对我来说,事实证明我有两个不同的 SDK 安装。当我启动 Android SDK Manager 并从 Eclipse 更新工具时,SDK 路径指向一个位置,但命令行上使用的 PATH 环境变量指向另一个位置,该位置具有较旧版本的 SDK,始终显示4.2.2 设备处于离线状态。

于 2013-03-13T21:07:13.067 回答
1

在 Linux 中:删除目录~/.android并重新启动ADB

于 2014-02-12T08:03:43.083 回答
1

这很可能是由于过时的 adb 进程造成的。这可能是由于糟糕的开发人员将 adb、dll 打包并将它们安装在 Windows 的根目录中。如 C:\Windows\adb.exe

打开任务管理器 kill adb.exe,找到最有可能在 root:\Windows 中的 adb.exe 并将其删除。然后使用最新的 SDK

于 2017-12-27T01:35:11.113 回答
1

这是一个蹩脚的案例,但以防万一……我有一台带电源/usb 集线器的 mac 笔记本电脑,但它只有几个 USB 端口,所以我挂了另一个有源 USB 集线器。似乎/似乎工作得很好,但由于某种原因,我的 android 设备无法保持连接。插入它,它显示“设备”,但尝试通过 adb 执行任何操作并得到错误并且状态变为“离线”。把我逼疯了。然后我决定尝试将 Android 设备直接插入第一个集线器......立即稳定地工作。我一直在使用两个集线器设置,但突然间它就停止了工作。希望它可以帮助某人!

于 2019-05-23T23:23:21.950 回答
1

这些答案都不适合我。设备始终处于离线状态。真正解决它的只是耐心!

即,在命令自动修复问题 100% 的时间adb devices后,只需等待一分钟即可发出。adb connect

于 2020-03-24T13:21:26.670 回答
1

以下是您可以通过命令行执行的步骤。无需访问设备。

第 1 步:执行“adb devices -l”,您将看到离线设备。现在记下 usb 后面的数字: Example=> usb: 1-1.4.2

第 2 步:echo '1-1.4.2' |sudo tee /sys/bus/usb/drivers/usb/unbind

第 3 步:echo '1-1.4.2' |sudo tee /sys/bus/usb/drivers/usb/bind

第 4 步:选中“adb devices -l”。该设备应该在线。

于 2020-07-01T10:52:06.277 回答
1

我有一个不可靠的 USB 连接,所以我试图让 wifi 连接正常。基本上在这里尝试了所有东西,但有一件事我直到最后才尝试,突然它起作用了!因此,如果您最终陷入困境,请尝试以下步骤:

 1. Connect with USB cord
 2. adb devices
List of devices attached
HT85X1A00342    device
10.0.0.43:5555  offline

 3. adb usb
restarting in USB mode

 4. adb reconnect
reconnecting HT85X1A00342 [device]

 5. adb tcpip 5555
restarting in TCP mode port: 5555

 6. adb devices
List of devices attached

 7. adb connect 10.0.0.43:5555
connected to 10.0.0.43:5555

甜的!我不知道是否强制它重新启动 USB 模式,然后依次使用 TCP/IP,或者只是最后三个命令,但显然它开始工作了。我还发现有一个开发人员选项可以在 Wifi 上启用调试,然后你选择你的热点。这也可能会阻止它工作,所以也要检查一下。

祝你好运!

于 2020-09-30T05:52:31.337 回答
1

adb reconnect offline- 从设备端踢连接以强制重新连接

于 2020-12-13T05:50:20.730 回答
0

我使用了ADB版本 1.0.29,它可以连接到我的 LG-F160K (JB 4.1.2) 和 Nexus 7 ( Android 4.2.2 (Jelly Bean) )。LG-F160K 使用 ADB 1.0.29,但 Nexus 7 的设备状态始终为“离线”。

我已经从 Google Android 网站下载了 adt-bundle-linux-x86-20130219.zip,我现在可以连接到 Nexus 7。我目前正在使用 ADB 版本 1.0.31。

只需下载最新的 SDK 或更新您的 ADB 实用程序。

于 2013-04-16T07:15:58.697 回答
0

在我的三星 Galaxy S III上最新的CyanogenMod夜间更新(2013 年 8 月 12 日)之后,我刚刚开始面临同样的问题。

我使用了最上面的答案中建议的ADB二进制文件(由 w. allison 编辑的 hack_on),我的手机上出现提示,要求允许访问我的 PC(它的 RSA 密钥)!!现在工作正常。

下载链接(仅限 ADB、Fastboot和相关二进制文件):https ://dl.google.com/android/repository/platform-tools_r16.0.1-windows.zip

于 2013-08-15T08:29:21.070 回答
0

在尝试从 Ubuntu在Galaxy S III上安装CyanogenMod时,我遇到了同样的问题。最后,我简单地将 ZIP 文件复制到外部SD 卡,将 SD 卡直接连接到 PC。然后我将卡移回手机,当我重新启动手机时,我可以从 SD 卡安装 CyanogenMod。

于 2013-08-28T03:36:21.120 回答
0

其他答案都不适合我。我刚刚在我的Galaxy S III上升级到CyanogenMod 10.1 (Android 4.2.2) 。对我有用的是在开发人员选项中启用调试(启用,在“关于手机”中的内部版本号上单击七次),然后通过 USB 插入。然后我接受了出现的提示。

于 2013-10-13T09:00:26.387 回答
0

对我来说,是USB电缆没有完全插入插槽。虽然它显示在我的Nexus 5上充电。

于 2014-01-10T08:07:56.200 回答
0

只需从Tools -> Android启用/禁用 ADB 集成。这对我有用。我正在使用 Android Studio 测试版。

于 2014-02-11T18:56:14.640 回答
0

不是真正的答案,而是更多地为显然是 CM 的问题做出贡献。我有一台运行 cm-11-20140309 非官方 BR1-ace(稳定版)的 HTC Inspire HD。我可以在更新之前使用 adb,但我从来没有安装 SDK,因为我不需要。我已经尝试了以上所有方法以及更多。

起初我以为我的问题是 MTP 驱动程序,但事实并非如此。安装并更新 SDK 以包含 4.4.2 后,HTC MTP 设备驱动程序在通过 USB 连接时安装正常,但使用新 sdk 安装位置的 adb 仍显示设备在 mtp 和手机上的 ptp 模式下都处于脱机状态,并进行调试的和上。当我禁用 USB 调试时,手机会自动重启,并收到错误消息:

“不幸的是,进程 android.process.media 已停止”

新的CM在开发者选项下有一个选项可以通过WIFI进行调试,所以我也试过了,它只是说无法连接到IP地址和端口。像其他海报一样,我可以ping IP 地址。

我还检查了为 ADB 和应用程序启用 root 访问权限的选项,因为它被设置为仅 APPS 并且当我执行 adb devices 时手机仍然显示离线,并且偶尔会抛出上面显示的相同错误。

编辑:

现在,我的手机强制重启,我重新启用调试,插入并运行 adb devices,最后手机提示我输入 RSA 密钥。出于某种原因,我之前没有收到提示,现在电话正在连接。因此,问题可能是需要在重新启动后将 root 访问权限从仅应用程序切换到应用程序和 adb。

这就是它离线显示的原因:http: //playingwithsid.blogspot.com/2013/05/android-device-offline-fixing-adb.html

于 2014-03-30T21:34:17.543 回答
0

我需要杀死多个 adb 进程(adb kill-serveradb start-server仍然留下一个挥之不去的进程。)

$ps aux | grep adb

$killall adb

于 2014-05-06T21:53:05.677 回答
0

简单分享一下我的情况:

在我的局域网中,所有的安卓板都有相同的 MAC 地址默认值。因此它将通过 DHCP 获得相同的 IP,因为它具有相同的 MAC 地址。

在局域网中,有多个具有相同 IP 的安卓板。adb 可以连接到板子(其中一个),并且可以打开板子的外壳(其中一个),但是在将文件推送到板子或其他操作时会“设备脱机”。

解决方法:改写MAC地址,获取不同的IP。

于 2015-05-12T07:38:54.920 回答
0

这些答案都不适合我,也尝试过无线。我注意到 adb.exe 一直在我的系统进程中运行。右键单击它们,发现 adb 正在从已安装的应用程序(在我的情况下为 Droid Explorer)中自动运行。卸载自动启动 ADB 的应用程序后,我可以终止该进程并看到 adb 不再自行运行。从平台工具运行更新的 adb,一切顺利!希望这可以帮助某人。

于 2015-08-12T20:05:57.890 回答
0

上面的所有东西都试了几个小时。使它工作的事情是在没有启动应用程序的情况下运行 android studio。您仍然可以使用 chrome 对设备进行远程调试。

于 2016-07-27T17:05:20.487 回答
0

就我而言,我在使用第一代 Asus Nexus 7 时遇到了这个问题。我已将日志缓冲区大小从 256K 增加到 4M。一旦我将其恢复为默认值(设置>开发人员设置>记录器缓冲区大小),拔下并重新插入平板电脑,它就可以完美运行。

于 2016-10-20T16:10:26.303 回答
0

禁用您的防病毒软件,重新连接 USB 并检查 adb.exe 是否未移至隔离区。

于 2017-12-26T00:10:56.730 回答
0

好的,这里没有伏都教,没有盲目尝试和(我希望)很好地解释了这个问题的解决方案(很抱歉,我几乎一整天都在谷歌上搜索解决方案,但无济于事)。

首先,让我们了解一下 adb 与设备通信的方式: https ://android.googlesource.com/platform/system/core/+/master/adb/protocol.txt

小故事:主机 adb 在 5037 上建立服务器,通过 tcp 端口 5555(默认)连接到设备上的 adbd。

这意味着 - 要工作,您的 adb 必须有一条通往本地 5037 和远程 5555 的清晰道路。如果您不能或不想先建立 USB 连接,您可以在设备上设置 adbd(使用设备终端)进行监听使用 USB:

setprop service.adb.tcp.port 5555
stop adbd
start adbd

检查netstat -plant | grep adbdadbd 是否正在侦听端口 5555(或您选择的任何其他端口)。

现在使用捕获过滤器启动 Wireshark port 5555。在您的主机上执行此命令:(adb connect device_ip:5555如果您使用的是非标准端口,请替换 5555)。

根据上面的文档,您应该会看到CNXN来自两个方向的命令!如果你的远端没有回复,adb devices会说你的设备是offline!一场比赛结束了。adb devices不进行任何网络交换,它只是向您显示adb connect命令的结果。

我的问题是 - 我一直在使用 NAT 网络并转发 5555 端口的 Virtualbox 内运行 Android。另外,我在端口 5554 上运行了一个模拟器。它没有占用 5555,但是不知何故,这两个干扰并破坏了 Virtualbox 在较低级别的连接,因为我有很多奇怪的重复 ACK 和 RST 在整个接口上飞来飞去。解决这个问题的方法是选择一个不同的端口

如果我错了,请告诉我,但我之前没有看到有人提出这个建议。既没有解释它应该如何工作以及为什么工作。

于 2019-10-22T20:42:19.563 回答
0

我尝试了你能想到的一切。6小时....对于一个愚蠢的解决方案。

似乎对我有用的是关闭笔记本电脑,拔下笔记本电脑,弹出电池,按住电源按钮 10 秒,然后重新启动

太疯狂了。但也许它会帮助别人。

注意:我的情况是:一切正常, devtools窗口打开并正常工作,并且所有3 台设备都脱机了。(无论重新启动 [计算机 + 设备]、安装/卸载驱动程序/adb/android studio、Windows 更新、切换调试选项,都再也没有回来。)

我的理论是发生了某种充电/电源的事情.....

于 2021-01-19T03:07:45.490 回答
0

如果您在通过无线方式连接设备时遇到此问题,请tcpip尝试断开设备连接:

adb disconnect <your_ip_address>:port_number或者adb disconnect

例如

adb disconnect 192.168.1.2:5555
或者
adb disconnect

不同之处在于第一个将仅断开所需的设备,第二个将断开所有设备。

使用此命令的好处是您不必杀死并重新启动服务器。杀死并重新启动服务器需要将您的设备插入您的计算机,这是最烦人的过程。

于 2021-03-19T20:23:26.733 回答
-2

从设备打开Developer options并禁用然后启用USB debugging

于 2020-06-18T07:19:53.933 回答
-10

如果上述任何提示不起作用,请尝试以下步骤来解锁 OEM:

  1. 打开命令提示符并设置您的平台工具路径。

  2. 输入“adb reboot bootloader”。

  3. 然后输入“fastboot oem unlock”。

  4. 在一些设备上,这将需要更多时间。请耐心等待@15 分钟。

  5. 重启设备

于 2013-03-19T20:25:30.520 回答