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

执行命令

adb devices

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

我尝试过的事情。

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

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

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


当前回答

分享一下我的情况:

在我的局域网中,所有的andorid板都有相同的默认MAC地址。 所以它将通过DHCP获得相同的IP,因为它有相同的MAC地址。

在局域网中,有多个具有相同IP的android板。 adb可以连接到板子(其中一个),可以打开板子(其中一个)的shell,但在将文件推到板子或其他操作时,会出现“设备离线”。

解决方案: 重写MAC地址,得到不同的IP。

其他回答

其他的答案都对我没用。我刚刚在我的Galaxy S III上升级到CyanogenMod 10.1 (Android 4.2.2)。对我来说有用的是在开发人员选项中启用调试(要启用,在“关于手机”中单击7次构建号),然后通过USB插入。然后我接受了出现的提示。

对于ADB连接不稳定的人来说,如果他们使用的是Mac电脑,并且安装了Android File Transfer,那么还有一种可能:我发现文件传输干扰了我的ADB连接,导致它断断续续地停止工作。

关闭Android文件传输代理。应用程序进程,寻找兼容的设备(例如,Nexus 7)连接到Mac,解决了我的问题。

在我的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进程(adb kill-server & adb start-server仍然留下一个挥之不去的进程。)

$ ps aux |葡萄柚亚行

$ killall adb

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

adb kill-server

adb start-server

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