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

执行命令

adb devices

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

我尝试过的事情。

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

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

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


当前回答

你能想到的我都试过了。 6小时....一个愚蠢的解决方案。

对我来说似乎有效的方法是关闭笔记本电脑,拔下笔记本电脑插头,取出电池,按住电源按钮10秒,再次启动。

所以疯了。但也许它会帮助其他人。

注:我的情况是:一切都运行得很好,开发工具窗口打开并工作,然后3个设备都离线了。(并且无论重启[计算机+设备],安装/卸载驱动程序/adb/android studio, Windows更新,切换调试选项,都不会回来。)

我的理论是发生了某种电荷/能量的事情.....

其他回答

我尝试了dturvene和其他所有的解决方案,但它们都不起作用。我需要再走一步。

运行这些命令

亚行kill-server Android更新SDK—无ui 亚洲开发银行启动服务器

为了验证它是否有效,在命令之前和之后运行'adb version',并确保它是最新的。使用adb kill-server命令的原因是它很可能正在运行,并且在运行时不能更新,因此必须首先杀死它。

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

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

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

由于没有人对我的情况给出答案:您可能无法访问~/。android / adbkey文件。如果最初使用sudo启动adb,它将生成一个公钥对,将其写入~/.android/adbkey。Pub和~/android/adbkey。当然,私钥是chmod 600—仅对主目录中的根目录可读。随后以普通用户启动adb将不允许访问私钥文件,这反过来会以“设备脱机”的方式无声地失败。

我使用的是ADB版本1.0.29,它可以连接到我的LG-F160K (JB 4.1.2)和Nexus 7 (Android 4.2.2(果冻豆))。LG-F160K使用ADB 1.0.29,但Nexus 7的设备状态始终是“脱机”。

我已经从谷歌Android网站下载了adt-bundle-linux-x86-20130219.zip,现在可以连接到Nexus 7了。我目前使用的是ADB版本1.0.31。

只需下载最新的SDK或更新您的ADB实用程序。