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

执行命令

adb devices

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

我尝试过的事情。

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

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

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


当前回答

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

当设备被adb报告为离线时,是因为守护进程不再运行或处于不接受连接的状态。大多数情况下,如果网络在活动(网络)连接上出现故障,就会发生这种情况。

我唯一能解决这个问题的方法就是重启设备。 人们可以通过许多其他方法来修复离线状态,但重新启动设备总是有效的。

其他回答

在我的Nexus 7和Galaxy 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管理器两次(一次更新自己),才能看到最新的包。

当我面对同样的问题时,我会像下面这样做:

通过在命令提示符中发出adb kill-server命令和adb start-server命令重新启动adb 关闭并重新打开USB调试 重启手机,如果它仍然不工作。 通过这些步骤,99%的问题都得到了解决。

我有这个问题,其他答案都没用。在更新SDK和安装4.2.2的API之后,必须运行:

android update adb

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

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

打开命令提示符并设置平台工具路径。 输入“adb reboot bootloader”。 然后输入“fastboot oem unlock”。 在少数设备上,这将需要更多的时间。请耐心等待15分钟。 重新启动设备

在尝试了两次之后,我将手机软件回滚到一个稳定的版本,它终于工作了。我在运行Cyanogen nightlies。无论如何,在这个帖子中发布的东西应该可以帮助遇到这个问题的任何人。