Android ADB device offline, can't issue commands
我无法通过命令行或在Eclipse中使用ADB连接到我的设备。
运行命令
1 | adb devices |
返回设备名称,但它表示它处于脱机状态。
我尝试过的事情。
我真的不知道发生了什么。 你认为我还能尝试的任何其他事情,我都是耳朵。
要明确的是,如果您遇到同样的问题,问题可能是过时的SDK。 从4.2.2开始,有一项安全功能要求您确认连接设备的RSA指纹。 打开SDK管理器并更新工具! 然后重启。
在我的Nexus 7和Galaxy Nexus更新到Android 4.2.2之后,我今天遇到了同样的问题。
解决这个问题的方法是将SDK平台工具升级到r16.0.1。对我来说,这个版本没有显示在我的SDK Manager中,所以我直接从http://dl.google.com/android/repository/platform-tools_r16.0.1-windows.zip中删除了它。
然后,您需要重命名
如果你的整个Eclipse和ADT都很古老,你可能也需要更新它们,但我不需要。
注意:您可能需要运行SDK Manager两次(一次更新),然后才能看到最新的软件包。
运行
当您使用Wi-Fi模式连接到设备时(例如在Android Studio中或在控制台中通过运行
修理:
我在Nexus  7运行4.2.2 OTA更新时遇到了同样的问题。我几乎可以肯定,在更新后我通过USB和Wi-Fi进行了ADB连接,直到它停止工作。要修复,我使用以下方法更新了我的SDK:
1 | android update sdk --no-ui |
现在我的开发工具是:
- SDK rev 16.0.2
- SDK工具rev 21.1
- SDK API 17,rev 2
对于想知道4.2.2的人,手机上会出现一个安全问题,要求通过PC进行RSA验证。确保您的工具已更新并通过验证相关设备上的安全问题来允许PC访问。这为我修好了。
和往常一样,验证您是否在开发人员选项中启用了调试;)
我不能强调切换USB端口是关键。前面板USB端口通常可能有缺陷。
多个adb.exe文件?
从C:/ Windows /删除OLD adb.exe的副本时,我的问题解决了。
我不知道adb.exe的副本是如何进入C: Windows 的?
当我从android-sdk / platform-tools /启动adb.exe时,检测没问题。
我遇到了这个问题,其他答案都没有帮助。在更新SDK并安装4.2.2的API之后,必要的是运行:
1 | android update adb |
我遇到的另一个问题是我试图通过Wi-Fi连接ADB,这是我唯一的选择,因为我的Mac上的USB端口非常精巧。不幸的是,通过Wi-Fi的ADB没有显示4.2.2中的安全问题,所以你需要找到一条USB线,它可以工作并通过USB连接至少一次以接受安全问题,但是在你这样做之后,您可以通过Wi-Fi连接。
尝试关闭usb调试一次然后启用它agin然后将你的设备连接到system:link
如果您的设备通常通过USB连接,但突然停止工作,尤其是在USB电缆断开连接并重新连接后,请尝试以下非侵入性步骤,然后再执行其他答案中提到的一些更激烈的事情:
1 2 3 | adb kill-server adb start-server adb devices |
如果您的设备旁边列有"设备",那么您将重新开始营业。
如果您的设备旁边列出了"离线",请尝试重新启动设备。设备上的ADB守护程序偶尔会挂起。当我在LogCat运行时断开电缆并从通过Wi-Fi或以太网连接切换回来后,我更加注意到了这一点。
如果未列出您的设备,则应尝试其他答案中的解决方案,首先尝试使用其他USB电缆和端口。那些便宜的电缆可能会变坏。
更新SDK工具后,请务必使用
在我意识到我使用的是在
有时这可能是因为adb服务器错误(我认为)。它总是说
1 | "device-name is offline" from adb devices command. |
只需杀死服务器然后重新开始它对我有用。
1 2 | "adb kill-server" "adb start-server" |
我使用
对我来说没什么用。我花了大约12个小时不断在互联网上搜索,并尝试解决其他人有类似问题的解决方案。
最后,我最终只是在局域网上做了ADB的事情。设置就在USB调试设置旁边,在ADB中可以通过"adb connect [IPADDRESS]:[PORT]"激活。我手机上的端口是5555。
我希望这有助于某人重新开始工作而不必处理不断的弊端。
我尝试了dturvene和所有其他解决方案,但他们没有工作。我还需要一步。
运行这些命令
要验证它是否有效,请在命令之前和之后运行"adb version"并确保它是最新的。
这种方法对我有用:
设备管理器,"查看"菜单,"按连接设备":
我最初遇到了同样的问题(从GitHub下载了ADB / fastboot),但我最终得到了它的工作。什么对我有用:
- Android SDK。亚行版本:1.0.31
- 使用前置USB端口(MacBook Pro 15")
- 启用开发选项和USB调试后重启手机(通过7倍点击设置>关于手机>构建)。
- 如果没有列出设备,请杀死adb服务器(adb kill-server)
- 调试图标应该在手机上可见。
- 务必解锁锁定屏幕以检查RSA指纹确认对话框。
安装了最新的android sdk。
更改了设备的USB端口。
改为MTP - >仅限充电 - > MTP。
有效。
另一种可能是ADB连接不稳定的人,如果他们在Mac上并安装了Android文件传输:我发现文件传输干扰了我的ADB连接,导致它间歇性地停止工作。
杀死寻找与Mac连接的兼容设备的
由于没有人给出我的情况答案:您可能无法访问?/ .android / adbkey文件。如果你最初使用sudo启动adb,它将生成一个公钥对,将其写入?/ .android / adbkey.pub和?/ android / adbkey。当然,私钥是chmod 600 - 只能在主目录中以root身份读取。随后以普通用户身份启动adb将无法访问私钥文件,而私钥文件又将以"设备脱机"静默失败。
在Mac上为我解决的问题是将
我想到的最好方法是禁用然后从设备管理器启用设备并运行adb devices命令。
该设备将重新联机。它更快。
将设备报告为脱机的原因是adb无法连接到该设备。来自开发环境的Adb可执行文件创建与受控设备的连接(套接字)。设备有一个侦听此通信的服务(守护程序)。该守护进程称为adbd(如adbdaemon中所示)。
实际上,当一个设备在设备上启用adb时,会启动此守护程序,因此可以使用该设备建立通信。
当adb将设备报告为脱机时,因为守护程序不再运行或处于不接受连接的状态。如果网络在活动(网络)连接上发生故障,通常会发生这种情况。
我可以解决这个问题的唯一方法是重启设备。
可以通过许多其他方式到达以修复脱机状态,但重新启动设备始终有效。
我遇到了同样的问题。首先通过USB连接您的手机,然后确保检查您的手机IP设置>>关于手机>>状态运行以下命令。
1 2 3 4 5 6 7 | <wyn> adb kill-server adb start-server adb tcpip 5555 //it resets port so put port you want to connect adb connect 192.168.1.30:5555 //ip:port of your mobile to connect adb devices //you will be connected over wifi </wyn> |
如果您之前已经授权了PC的RSA指纹,并尝试了adb kill-server等没有运气,那么您的问题可能就是您在锁定时尝试连接它。尝试按下屏幕上的按钮并输入您的图案 - 这为我修复了它。
重启设备。我尝试了这里列出的所有内容,以使我的HTC手机(运行Android 4.0.3)正常工作,但
这只是因为您的计算机没有合适的驱动程序。解决这个问题:
下载并解压Android SDK
转到设备管理器(右键单击计算机 - >属性 - >设备管理器
在右侧窗格中展开便携式设备以查找您的设备
右键单击设备名称,然后单击"更新驱动程序软件"
浏览我的电脑以获取驱动软件
在步骤1中浏览到您的Android SDK文件夹。
接下来你就完成了
我多次更新,直到我再也无法更新,但我的屏幕上没有提示;我只是让设备离线。
我的问题是我从另一个目录运行ADB命令到实际更新的内容。
ADB exe的正确更新目录是:
1 | C:\Program Files (x86)\Android\android-sdk\platform-tools\ |
尝试重新启动adb服务器,如下所示:
1 2 3 | adb kill-server adb start-server |
我也遇到了和你一样的问题。并重新启动adb服务器将解决此问题。
为我工作:在开始工作,一段时间后离线。
我做了以下事情:
再次使用usb将手机插入PC
提供空列表的输出。
然后它再次上线。
迟到但我找到了最简单的方法
只需转到DDMS并按照图像所示进行操作......
我很惊讶地发现我的解决方案没有列在这里。
对我来说,我有LG G3。必须使用LG的驱动程序连接手机。我去了
设备管理器>卸载MTP驱动程序
并立刻adb在没有1秒的情况下工作。
尝试
1 | adb usb |
我将我的连接方法更改为
这就是为什么以前的答案都不适用于我的情况
在尝试了两次之后,我将手机软件回滚到一个稳定的版本,它终于奏效了。我正在运行Cyanogen nightlies。无论如何,这个帖子中发布的内容应该可以帮助遇到此问题的任何人。
我也遇到了这个问题。我在Android SDK Manager中更新了所有内容,使用设备管理器卸载了我的设备,现在它可以正常工作。我沿途发布了一些"kill-server"和"start-server"......
在Linux中:删除目录
对我来说,事实证明我有两个不同的SDK安装。当我启动Android SDK Manager并从Eclipse更新工具时,SDK路径指向一个位置,但命令行上使用的PATH环境变量指向另一个位置,该位置具有较旧版本的SDK,它始终显示4.2.2设备离线。
这很可能是由于过时的adb过程造成的。
这可能是由于蹩脚的开发人员打包adb,dll并将它们安装在Windows的根目录中。例如C: Windows adb.exe
打开任务管理器杀死adb.exe,找到最有可能在root: Windows中的adb.exe并将其删除。然后使用最新的SDK
禁用防病毒软件,重新连接usb并检查adb.exe是否未移至quarentine。
我使用过ADB版本1.0.29,它可以连接到我的LG-F160K(JB 4.1.2)和Nexus&nbsp; 7(Android 4.2.2(Jelly Bean))。 LG-F160K与ADB 1.0.29配合使用,但Nexus 7的设备状态始终处于"离线"状态。
我已经从谷歌Android网站下载了adt-bundle-linux-x86-20130219.zip,现在我可以连接到Nexus&nbsp; 7。我目前正在使用ADB 1.0.31版。
只需下载最新的SDK或更新您的ADB实用程序。
在我的情况下,我遇到了第一代华硕Nexus 7的这个问题。
我已将日志记录缓冲区大小从256K增加到4M。只要我将其恢复为默认值(设置>开发人员设置>记录器缓冲区大小),拔下插头并重新插入平板电脑,它就能完美运行。
对我来说,USB电缆没有完全插入插槽。虽然它显示我的Nexus 5充电。
这些答案都不适用于我,也尝试过Wireless。我注意到adb.exe一直在我的系统进程中运行。右键单击它们,发现adb是从已安装的应用程序自动运行的(在我的情况下是Droid Explorer)。一旦我卸载了自动启动ADB的应用程序,我就可以杀死该进程并看到adb不再独立运行。从平台工具中获取更新的adb并且好好去!希望这有助于某人。
没有其他答案对我有用。我刚刚在我的Galaxy S&nbsp; III上升级到了CyanogenMod 10.1(Android 4.2.2)。对我来说有用的是在开发人员选项中启用调试(启用,在"关于手机"中点击内部版本号七次),然后通过USB插入。然后我接受了出现的提示。
只是分享我的条件:
在我的LAN中,所有的andorid板都具有相同的MAC地址默认值。
因此它将通过DHCP获得相同的IP,因为它具有相同的MAC地址。
在局域网中,有多个具有相同IP的android板。
并且adb可以连接到电路板(其中一个),并且可以打开电路板的外壳(其中一个),但是当将文件推送到电路板或其他操作时,"设备离线"。
解:
重写MAC地址,获取不同的IP。
我需要杀死多个adb进程(
$
$
不是一个真正的答案,但更多的贡献显然是CM的问题。
我有一台运行cm-11-20140309非官方BR1-ace(稳定版)的HTC Inspire HD。我可以在更新之前使用adb,但我从未安装过SDK,因为我没有必要。我已经尝试了以上所有以及更多。
起初我以为我的问题是MTP驱动程序,但事实并非如此。在安装和更新SDK以包含4.4.2之后,HTC MTP设备驱动程序在通过USB连接时安装正常,但是使用新sdk安装位置的adb仍然在手机上的mtp和ptp模式下都显示设备处于离线状态和之。当我禁用USB调试手机自动重启时,我收到错误:
"不幸的是,进程android.process.media已停止"
新的CM在开发人员选项下有一个选项,可以通过WIFI进行调试,所以我也试过了,它只是说无法连接到IP地址和端口。像其他海报一样,我可以ping IP地址。
我还检查了为ADB和应用程序启用root访问权限的选项,因为它只设置为APPS,当我使用adb设备时手机仍显示为脱机,有时它会抛出上面显示的相同错误。
编辑:
现在,我的手机只是强制重启,我重新调试,插入并运行adb设备,最后我被电话提示RSA密钥。由于某种原因,我之前没有提示,现在手机正在连接。因此,问题可能是需要在重新启动后将root访问权限从应用程序切换到应用程序和adb。
这就是它离线显示的原因:http://playingwithsid.blogspot.com/2013/05/android-device-offline-fixing-adb.html
只需从工具 - > Android启用/禁用ADB集成。这对我有用。我正在使用Android Studio测试版。
在我的三星Galaxy S&nbsp; III上最新的CyanogenMod夜间更新(2013年8月12日)之后,我才开始面对同样的问题。
我使用了最顶层答案中建议的ADB二进制文件(由w.allison编辑的hack_on),我的手机上有一个提示,要求允许访问我的PC(其RSA密钥)!!现在工作正常。
下载链接(仅限ADB,Fastboot和相关二进制文件):https://dl.google.com/android/repository/platform-tools_r16.0.1-windows.zip
这是一个蹩脚的案例,但以防万一...我有一台带有电源/ USB集线器的mac笔记本电脑,但它只有几个usb端口,所以我挂了另一个有源的usb集线器。似乎/似乎工作得相当好,但由于某种原因我的Android设备不会保持连接。插上它,它显示'设备',但尝试通过adb做任何事情并得到一个错误,状态变为"离线"。开车送我疯了。然后我决定尝试直接插入Android设备到第一个集线器......立即工作并坚定地工作。我曾经使用过两个集线器设置一段时间了,但所有突然之间它都停止了工作。希望它能帮助别人!
我遇到了同样的问题,同时尝试在Ubuntu上安装CyxygenMod在Galaxy&nbsp; S&nbsp; III上。最后,我只是将SD卡直接连接到PC,将ZIP文件复制到外部SD卡。然后我将卡移回手机,当我重新启动手机时,我可以从SD卡安装CyanogenMod。
试了几个小时。让它工作的事情是运行android studio而没有启动应用程序。您仍然可以使用chrome来远程调试设备。
如果以上任何提示无效,请尝试以下步骤解锁OEM:
打开命令提示符并设置平台工具路径。
输入"adb reboot bootloader"。
然后输入"fastboot oem unlock"。
在一些设备上,它将花费更多的时间。请耐心等到@ 15分钟。
重启设备