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

执行命令

adb devices

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

我尝试过的事情。

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

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

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


当前回答

我认为最好的方法是先禁用设备,然后从设备管理器中启用设备,然后运行adb devices命令。

转到开始选项卡,右键单击计算机 从下拉菜单中,单击Manage 在计算机管理界面中,单击“设备管理器” 在右侧窗格中,展开便携式设备以找到您的设备 右键单击设备名称,然后在下拉菜单中单击“禁用” 当它被禁用时,除了启用它外,请重复步骤5。

设备将重新上线。这是更快。

其他回答

我也遇到过这个问题。我更新了Android SDK管理器中的所有内容,使用设备管理器卸载了我的设备,现在它可以正常工作了。一路上我发出了一些“kill-server”和“start-server”。

我在尝试使用Android 11中内置的“无线ADB”功能连接时偶然发现了这个问题。

我没法把它接好。总是显示为“脱机”。

我所做的是:

首先断开所有ADB设备,这是一个很好的措施:

adb disconnect

然后在开发人员选项中,进入“无线ADB”功能,如果您还没有这样做的话。转到“使用密码配对”或类似选项。在那里,一个IP和端口将弹出一个对话框,连同一个引脚。连接到电话使用:

adb pair 192.168.2.xxx:42838 # Put the IP and port of that dialog in this way

(注意主窗口上的端口和PIN弹出框上的端口是不一样的)

您的(PC) ADB将提示您输入pin。输入并按ENTER。

这样,手机上弹出的PIN码应该消失,计算机名应该显示在主窗口的可信设备列表中。

如果你做到了这一步,下一步肯定会奏效。尝试现在连接到您的手机使用:

adb connect 192.168.2.xxx:53548 # This time use the port shown in the main window!

它应该连接好了,你就可以出发了。

从设备打开开发人员选项,然后禁用USB调试。

这很可能是由于过时的adb流程。 这可能是因为蹩脚的开发人员将adb和dll打包并安装在Windows的根目录中。例如C:\Windows\adb.exe

打开任务管理器kill adb.exe,将adb.exe定位在root:\Windows并删除它。然后使用最新的SDK

分享一下我的情况:

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

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

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