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

执行命令

adb devices

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

我尝试过的事情。

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

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

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


当前回答

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

其他回答

重新启动设备。我尝试了这里列出的所有方法来让我的HTC手机(运行Android 4.0.3)工作,但adb设备一直显示它离线。重启后,手机终于上线了。这里的一些其他建议可能有助于手机被识别出来,但在试用过程中重新启动几次肯定不会有什么坏处。

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

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

adb kill-server
adb start-server
adb devices

如果你的设备旁边有“device”字样,那么你的业务就恢复正常了。

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

如果你的设备没有列出,那么你应该尝试其他答案中的解决方案,从尝试不同的USB电缆和端口开始。那些廉价的电缆可能会坏掉。

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

修复:

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

尝试重新启动adb服务器,操作如下:

adb kill-server

adb start-server

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