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

执行命令

adb devices

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

我尝试过的事情。

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

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

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


当前回答

这很可能是由于过时的adb流程。 这可能是因为蹩脚的开发人员将adb和dll打包并安装在Windows的根目录中。例如C:\Windows\adb.exe

打开任务管理器kill adb.exe,将adb.exe定位在root:\Windows并删除它。然后使用最新的SDK

其他回答

Linux下:删除~/目录。重新启动ADB。

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

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

在我意识到我使用的是复制在/usr/bin中的过时ADB版本后,我终于让它工作了。

有时这可能发生,因为adb服务器错误(我认为)。它总是说

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

只需关闭服务器并重新开始。这对我很管用。

"adb kill-server"
"adb start-server"

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

adb kill-server
adb start-server
adb devices

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

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

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