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

执行命令

adb devices

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

我尝试过的事情。

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

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

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


当前回答

就我而言,我在使用第一代华硕Nexus 7时就遇到了这个问题。 我已经将日志缓冲区大小从256K增加到4M。当我把它恢复到默认值(设置>开发人员设置>记录器缓冲区大小),拔下插头,然后插回去,它工作得很好。

其他回答

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

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

ADB exe的正确更新目录是:

C:\Program Files (x86)\Android\android-sdk\platform-tools\

多个adb.exe文件?

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

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

对我来说,我有两个不同的SDK安装。当我启动Android SDK管理器并从Eclipse更新工具时,SDK路径指向一个位置,但命令行上使用的path环境变量指向另一个位置,该位置具有较旧版本的SDK,始终将4.2.2设备显示为脱机。

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

adb kill-server
adb start-server
adb devices

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

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

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

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