我再也不能通过命令行或Eclipse使用ADB连接到我的设备了。

执行命令

adb devices

返回设备名称,但显示为脱机状态。

我尝试过的事情。

切换Android调试模式 重新安装谷歌USB驱动 将操作系统恢复到以前工作的备份(CyanogenMod) 换掉USB数据线 多次重启电话/电脑 更新Android SDK

我真的不知道发生了什么。你觉得我还能试什么,我洗耳恭听。

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


当前回答

我使用adb connect <device_ip>和其他解决方案都不起作用,因为我的问题在另一边。在设备上,我需要停止adbd并重新启动它启动adbd。设备现在再次“在线”。

其他回答

我尝试了dturvene和其他所有的解决方案,但它们都不起作用。我需要再走一步。

运行这些命令

亚行kill-server Android更新SDK—无ui 亚洲开发银行启动服务器

为了验证它是否有效,在命令之前和之后运行'adb version',并确保它是最新的。使用adb kill-server命令的原因是它很可能正在运行,并且在运行时不能更新,因此必须首先杀死它。

对于任何想知道4.2.2的人来说,有一个安全问题出现在电话上,要求与PC进行RSA验证。确保您的工具已更新,并通过验证有关设备上的安全问题来允许PC访问。这为我解决了问题。

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

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

修复:

断开USB连接——或者如果你是通过Wi-Fi连接的,关闭设备的Wi-Fi。 关闭Android Studio/Eclipse/其他IDE。 运行adb kill-server确保adb没有运行。 重新启动Android设备。 设备重新启动后,通过USB连接并运行adb设备。这将启动ADB守护进程。您的设备现在应该再次联机了。

如果你在通过tcpip无线连接你的设备时得到这个,然后尝试断开你的设备:

Adb disconnect <your_ip_address>:port_number或Adb disconnect

eg

Adb disconnect 192.168.1.2:5555 或 亚行断开

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

使用此命令的好处是您不必关闭并重新启动服务器。关闭和重新启动服务器需要你的设备连接到你的电脑,这是最恼人的过程。

我在运行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