我再也不能通过命令行或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。

其他回答

我使用adb connect <device_ip>和其他解决方案都不起作用,因为我的问题在另一边。在设备上,我需要停止adbd并重新启动它启动adbd。设备现在再次“在线”。

对我来说最有效的是:

拆卸USB并重新插入。 在adb kill-server之后使用adb设备 有时,切换到计算机上不同的USB端口将解决问题。

这些答案对我都没用,我也试过无线。我注意到adb.exe一直在我的系统进程中运行。右键点击它们,发现adb从安装的应用程序(在我的例子中是Droid Explorer)自动运行。一旦我卸载了自动启动ADB的应用程序,我就可以终止进程,并看到ADB不再自己运行。从平台工具中运行更新后的adb,一切就绪!希望这能帮助到一些人。

安装最新的android sdk。 修改设备的USB端口。 由MTP -> Charge only -> MTP改变。 它工作。

下面是您可以通过命令行执行的步骤。无需访问设备。

步骤1:执行“adb devices -l”,您将看到离线设备。现在记下usb后面的数字:Example=> usb:1-1.4.2

步骤2:echo '1-1.4.2' |sudo tee /sys/bus/usb/drivers/usb/unbind

步骤3:echo '1-1.4.2' |sudo tee /sys/bus/usb/drivers/usb/bind

步骤4:检查“adb devices -l”。这些设备应该在线。