模拟器正在运行。但是当我在我的shell中写adb shell
时,我得到:
错误:设备离线
这是什么原因?我怎么摆脱它?
如果“adb devices”列出了您的设备但是“离线”,则您的路径可能会导致旧版本的adb(例如1.0.29)与最新的Android 4设备出现问题。确保“adb version”返回1.0.31或更高版本。从Android 4.2.2开始,您必须在设备上确认它已连接到受信任的计算机。它适用于adb版本1.0.31及更高版本。
方法1:
在linux终端中运行此命令
sudo adb kill-server
sudo adb devices
在CMD中运行此命令
adb kill-server
adb devices
“adb devices”结果必须显示任何带有id的设备。如果您正在离线,则表示您需要在标签中提供权限。在Android中启用USB调试并首次连接设备后,您将获得一个提供权限的警报对话框。如果您没有弹出任何弹出窗口,请单击“尝试在开发人员中撤消USB权限”选项。
方法2:
将设备连接模式从媒体更改为相机,有时这对我有帮助。
方法3:
更新adb以及设备驱动程序。
这发生在我运行Ubuntu 19.04和Android 9上。我通过关闭开发人员选项然后重新打开它来解决这个问题。并确保在那里也允许USB调试。
它发生在我身上一次。我只是重新启动了设备,这解决了我的问题。
当我得到同样的错误时,我只是拔掉插头插入它,错误就消失了。
我重新启动了计算机,同时重新启动了手机。 adb设备返回正常。
如果您通过USB连接,请拔下插头并重新插入。
如果您通过WiFi连接,请在手机上禁用并重新启用WiFi。
如果您使用的是Linux或Mac,并且假设脱机设备是“emulator-5554”,则可以运行以下命令:
netstat -tulpn|grep 5554
产生以下输出:
tcp 0 0 127.0.0.1:5554 0.0.0.0:* LISTEN 4848/emulator64-x86
tcp 0 0 127.0.0.1:5555 0.0.0.0:* LISTEN 4848/emulator64-x86
这告诉我进程ID 4848仍在侦听端口5554.您现在可以使用以下命令终止该进程:
sudo kill -9 4848
而ghost离线设备已不复存在!
尝试运行:
adb kill-server
adb start-server
设备离线,请重启设备。
确保你是超级用户..而不是'adb start-server'做'sudo adb start-server',输入你的密码(它不会回显),按回车键。然后,'sudo adb devices',它将显示为在线。
我两次来到这个条件。我第一次在我的电脑上使用命令“adb kill-server”,然后重新启动了android设备。有效。然而,第二次该方法不再起作用。这次我断开连接并重新连接网络。有效。