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

执行命令

adb devices

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

我尝试过的事情。

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

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

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


当前回答

这个方法对我很有效:

亚行kill-server 在设备管理器中禁用脱机设备(见下图) 在“设备管理器”中启用设备 亚洲开发银行启动服务器


设备管理器,“查看”菜单,“按连接的设备”:

其他回答

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

在我的三星Galaxy S III上最新的CyanogenMod夜间更新(2013年8月12日)后,我开始面临同样的问题。

我使用了最上面的答案(由w. allison编辑的hack_on)中建议的ADB二进制文件,我在我的手机上得到了一个提示,要求允许访问我的PC(它的RSA密钥)!!现在工作得很好。

下载链接(仅限ADB、Fastboot和相关二进制文件):https://dl.google.com/android/repository/platform-tools_r16.0.1-windows.zip

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

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

只需关闭服务器adb kill-server

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