Android ADB设备脱机,无法发出命令

ha 发布于 2019-02-28 adb 最后更新 2019-02-28 10:25 162 浏览

我无法使用ADB通过命令行或在Eclipse中连接到我的设备。 运行该命令

adb devices
返回设备名称,但它表示它已脱机。 我试过的东西。
  1. 切换Android调试模式
  2. 重新安装Google USB驱动程式
  3. 将操作系统恢复到先前正在运行的备份(CyanogenMod)
  4. 交换USB线
  5. 多次重新启动手机/电脑
  6. 更新了Android SDK
我真的不知道发生了什么事。任何你认为我可以尝试的东西,我都是耳朵。 要清楚的是,如果您遇到同样的问题,则问题可能是过时的SDK。从4.2.2开始,有一项安全功能要求您确认连接设备的RSA指纹。打开SDK管理器并更新工具!然后重启。
已邀请:

malias

赞同来自:

在我的情况下,我遇到了第一代华硕Nexus 7的这个问题。 我已将日志记录缓冲区大小从256K增加到4M。一旦我将其恢复为默认值(设置>开发人员设置>记录器缓冲区大小),拔下插头并重新插入平板电脑,它就能完美运行。

uet

赞同来自:

我在Nexus  7运行4.2.2 OTA更新时遇到了同样的问题。我几乎可以肯定,在更新后我通过USB和Wi-Fi进行了ADB连接,直到它停止工作。要修复,我使用以下方法更新了我的SDK:

android update sdk --no-ui
现在我的开发工具是:
  • SDK rev 16.0.2
  • SDK工具rev 21.1
  • SDK API 17,rev 2

det

赞同来自:

对我来说没什么用。我花了大约12个小时不断在互联网上搜索,并尝试解决其他人有类似问题的解决方案。 最后,我最终只是在局域网上做了ADB的事情。该设置紧挨着USB调试设置,在ADB中,可以通过“adb connect [IPADDRESS]:[PORT]”激活它。我手机上的端口是5555。 我希望这有助于某人重新开始工作而不必处理不断的弊端。

ciste

赞同来自:

我想到的最好的方法是禁用然后从设备管理器启用设备并运行adb devices命令。

  1. 转到“开始”标签,然后右键单击“计算机”
  2. 从下拉菜单中,点击管理
  3. 在计算机管理屏幕中,单击“设备管理器”
  4. 在右侧窗格中,展开便携式设备以查找设备
  5. 右键单击您的设备名称,然后单击下拉菜单中的“禁用”
  6. 禁用时,重复步骤5,除非启用它。
该设备将重新联机。它更快。

adolor

赞同来自:

我最初遇到了同样的问题(从GitHub下载了ADB / fastboot),但我最终得到了它的工作。什么对我有用:

  • Android SDK。亚行版本:1.0.31
  • 使用正面USB端口(MacBook Pro 15“)
  • 启用开发选项和USB调试后重启手机(通过7倍点击设置>关于手机>构建)。
  • 如果未列出任何设备(adb kill-server)
  • ,请终止adb服务器
  • 手机上应显示调试图标。
  • 确保解锁锁定屏幕以检查RSA指纹确认对话框。

det

赞同来自:

我使用了adb connect <device_ip>而其他解决方案没有使用,因为我的问题出在另一边。在设备上我需要stop adbd并重新启动它start adbd。设备现在再次“在线”。

lvel

赞同来自:

在Linux中:删除目录~/.android并重新启动ADB

pculpa

赞同来自:

我遇到了这个问题,其他答案都没有帮助。在更新SDK并安装4.2.2的API之后,必要的是运行:

android update adb
我遇到的另一个问题是我试图通过Wi-Fi连接ADB,这是我唯一的选择,因为我的Mac上的USB端口确实非常好看。不幸的是,通过Wi-Fi的ADB没有显示4.2.2中的安全问题,所以你需要找到一条USB线,它可以工作并通过USB连接至少一次以接受安全问题,但是在你这样做之后,您可以通过Wi-Fi连接。

ivel

赞同来自:

只需从工具 - > Android启用/禁用ADB集成。这对我有用。我正在使用Android Studio测试版。

dab

赞同来自:

没有其他答案对我有用。我刚刚在Galaxy S III上升级到CyanogenMod 10.1(Android 4.2.2)。对我来说有用的是在开发人员选项中启用调试(启用,在“关于手机”中点击内置七次,然后通过USB插入)。然后我接受了出现的提示。

xquis

赞同来自:

这只是因为你的电脑没有合适的驱动程序。解决这个问题:

  1. 下载并解压Android SDK
  2. 转到设备管理器(右键单击计算机 - >属性 - >设备管理器
  3. 在右侧窗格中展开便携式设备以查找设备
  4. 右键单击您的设备名称,然后单击“更新驱动程序软件”
  5. 浏览计算机以查找驱动程序软件
  6. 在步骤1中浏览到您的Android SDK文件夹。
  7. 接下来你就完成了

bipsam

赞同来自:

运行adb kill-server后尝试运行adb devices。之后出现安全问题。为我工作。

yeum

赞同来自:

尝试

adb usb 
我将我的连接方法更改为tcpip然后我想如果我杀了服务器并启动它,它将重置连接方法但它不会 这就是为什么以前的答案都不适用于我的情况

ueaque

赞同来自:

我需要杀死多个adb进程(adb kill-server& adb start-server仍然留下一个挥之不去的进程。) $ ps aux | grep adb $ killall adb

zipsum

赞同来自:

如果您之前已经授权了PC的RSA指纹并尝试了adb kill-server等没有运气,那么您的问题可能就是您在锁定时尝试连接它。尝试按下屏幕开启按钮并输入您的图案 - 这为我修复了它。

zrerum

赞同来自:

迟到但我找到了最简单的方法 只需转到DDMS并按照图像所示进行操作......

enter image description here

gomnis

赞同来自:

不是一个真正的答案,但更多的贡献显然是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密钥。出于某种原因,之前没有提示我,现在手机正在连接。因此,问题可能是需要在重新启动后将根访问权限从应用程序切换到应用程序和adb。 这就是它离线显示的原因:http://playingwithsid.blogspot.com/2013/05/android-device-offline-fixing-adb.html

ksequi

赞同来自:

对我来说,USB电缆没有完全插入插槽。虽然它显示我的Nexus 5正在收费。

dsit

赞同来自:

我不能强调切换USB端口是关键。前面板USB端口通常可能有缺陷。

zquia

赞同来自:

更新SDK工具后,请务必使用platform-tools文件夹中的adb。 在我意识到我使用了在/usr/bin中复制的过时版本的ADB后,我终于完成了这项工作。

tmodi

赞同来自:

在上面试了几个小时。让它工作的事情是在没有应用程序启动的情况下运行android studio。您仍然可以使用chrome来远程调试设备。

avelit

赞同来自:

对于想知道4.2.2的人,手机上会出现一个安全问题,要求通过PC进行RSA验证。确保您的工具已更新并通过验证相关设备上的安全问题来允许PC访问。这为我修好了。 和往常一样,验证您是否在开发人员选项中启用了调试;)

mid

赞同来自:

对我来说,事实证明我有两个不同的SDK安装。当我启动Android SDK Manager并从Eclipse更新工具时,SDK路径指向一个位置,但命令行上使用的PATH环境变量指向另一个位置,该位置具有较旧版本的SDK,它始终显示4.2.2设备离线。

qquas

赞同来自:

安装了最新的android sdk。
更改了设备的USB端口。
改为MTP - >仅限充电 - > MTP。
有效。

bdicta

赞同来自:

我在尝试从Ubuntu在Galaxy S III上安装CyanogenMod时遇到了同样的问题。最后,我通过将SD卡直接连接到PC,将ZIP文件复制到外部SD card。然后我将卡移回手机,当我重新启动手机时,我可以从SD卡安装CyanogenMod。

eipsum

赞同来自:

我使用了ADB版本1.0.29,它可以连接到我的LG-F160K(JB 4.1.2)和Nexus  7(Android 4.2.2 (Jelly Bean))。 LG-F160K与ADB 1.0.29配合使用,但Nexus 7的设备状态始终处于“离线”状态。 我已经从谷歌Android网站下载了adt-bundle-linux-x86-20130219.zip,现在我可以连接到Nexus  7。我目前正在使用ADB 1.0.31版。 只需下载最新的SDK或更新您的ADB实用程序。

vvelit

赞同来自:

有时这可能是因为adb服务器错误(我认为)。它总是说

"device-name is offline" from adb devices command.
只需杀死服务器然后重新开始它对我有用。
"adb kill-server"
"adb start-server"

rquis

赞同来自:

在Mac上为我解决的问题是将adb更新为最新版本(1.0.32)。现在我可以再次在线查看我的设备

eomnis

赞同来自:

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

vdicta

赞同来自:

我很惊讶地发现我的解决方案没有列在这里。 对我来说,我有LG G3。必须使用LG的驱动程序连接手机。我去了 设备管理器>卸载MTP驱动程序 并立即adb在没有1秒的情况下工作。

tin

赞同来自:

尝试关闭USB调试一次,然后再次启用它,然后将您的设备连接到系统:PLACEHOLDER FOR CODE 0

cvelit

赞同来自:

尝试重新启动adb服务器,如下所示:

adb kill-server
adb start-server
我也遇到了和你一样的问题。并重新启动adb服务器将解决此问题。

kex

赞同来自:

我刚刚在我的Samsung Galaxy S 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

stotam

赞同来自:

这种方法对我有用:

  1. adb kill-server
  2. 在设备管理器中禁用离线设备(参见下图)
  3. 在“设备管理器”中启用设备
  4. adb start-server

设备管理器,“查看”菜单,“按连接设备”: enter image description here

xqui

赞同来自:

另一种可能是ADB连接不稳定的人,如果他们在Mac上并安装了Android File Transfer:我发现文件传输干扰了我的ADB连接,导致它间歇性地停止工作。 杀死寻找兼容设备的Android File Transfer Agent.app流程(例如Nexus  7)可以解决我的问题。

kalias

赞同来自:

当您使用Wi-Fi模式(在Android Studio中或在控制台中通过运行adb tcpip 5555)连接到设备时,它似乎也经常发生。 修理:

  1. 断开USB连接 - 或者如果您通过Wi-Fi连接,请关闭设备的Wi-Fi。
  2. 关闭Android Studio / Eclipse /其他IDE。
  3. 运行adb kill-server以确保adb未运行。
  4. 重新启动您的Android设备。
  5. 设备重启后,通过USB连接并运行adb devices。这应该启动ADB守护程序。您的设备现在应该再次在线。

gvel

赞同来自:

这些答案都没有对我有用,也试过无线。我注意到adb.exe一直在我的系统进程中运行。右键单击它们,发现adb是从已安装的应用程序自动运行的(在我的情况下是Droid Explorer)。一旦我卸载了自动启动ADB的应用程序,我就可以杀死该进程并看到adb不再独立运行。从平台工具中获取更新的adb并且好好去!希望这有助于某人。

xqui

赞同来自:

我多次更新,直到我再也无法更新,但我的屏幕上没有提示;我一直让设备脱机。 我的问题是我从另一个目录运行ADB命令到实际更新的内容。 ADB exe的正确更新目录是:

C:\Program Files (x86)\Android\android-sdk\platform-tools\

ut_sed

赞同来自:

我尝试了dturvene和所有其他解决方案,但它们没有用。我还需要一步。 运行这些命令

  1. adb kill-server
  2. android update sdk --no-ui
  3. adb start-server
要验证它是否有效,请在命令之前和之后运行“adb version”并确保它是最新的。 adb kill-server命令的原因是它最有可能运行,并且在运行时无法更新,因此您必须先将其终止。

met

赞同来自:

在我的Nexus 7Galaxy Nexus更新到Android 4.2.2后,我今天遇到了同样的问题。 解决这个问题的方法是将SDK平台工具升级到r16.0.1。对我来说,这个版本没有显示在我的SDK Manager中,所以我直接从http://dl.google.com/android/repository/platform-tools_r16.0.1-windows.zip中删除了它。 然后,您需要重命名platform-tools目录并将其解压缩到android-sdk-windows/platform-tools。使用SDK Manager之前,我还更新了最新的sdk-tools。 如果您的整个Eclipse和ADT都是古老的,您可能还需要更新它们,但我不需要。 注意:在您看到最新的软件包之前,您可能需要运行两次SDK Manager(一次更新)。

jfugit

赞同来自:

只是分享我的条件: 在我的LAN中,所有的andorid板都具有相同的MAC地址默认值。 因此它将通过DHCP获得相同的IP,因为它具有相同的MAC地址。 在局域网中,有多个具有相同IP的android板。 并且adb可以连接到电路板(其中一个),并且可以打开电路板的外壳(其中一个),但是当将文件推送到电路板或其他操作时会使“设备脱机”。 解: 重写MAC地址,获取不同的IP。

mut

赞同来自:

由于没有人给出我的情况答案:您可能无法访问~/ .android / adbkey文件。如果你最初使用sudo启动adb,它将生成一个公钥对,将其写入~/ .android / adbkey.pub和~/ android / adbkey。当然,私钥是chmod 600 - 只能在主目录中以root身份读取。随后以普通用户身份启动adb将无法访问私钥文件,而私钥文件又将以“设备脱机”静默失败。

nut

赞同来自:

重启设备。我尝试了这里列出的所有内容,以使我的HTC手机(运行Android 4.0.3)正常工作,但adb devices一直说它处于离线状态。重新启动手机后,它终于在线了。这里的一些其他建议可能有助于手机被识别,但在你尝试它们的过程中做一些重启肯定不会受到伤害。

trerum

赞同来自:

如果您的设备通常通过USB连接,但突然停止工作,尤其是在USB电缆断开连接并重新连接后,请尝试以下非侵入性步骤,然后再做其他答案中提到的一些更激烈的事情:

adb kill-server
adb start-server
adb devices
如果您的设备旁边列有“设备”,则表示您已重新开始营业。 如果您的设备旁边列出了“离线”,请尝试重新启动设备。设备上的ADB守护程序偶尔会挂起。当我在LogCat运行时以及通过Wi-Fi或以太网连接切换回来后断开电缆时,我注意到了这一点。 如果未列出您的设备,则应尝试其他答案中的解决方案,首先尝试使用其他USB电缆和端口。那些便宜的电缆可能会变坏。

xipsam

赞同来自:

如果以上任何提示无效,请尝试以下步骤解锁OEM:

  1. 打开命令提示符并设置平台工具路径。
  2. 输入“adb reboot bootloader”。
  3. 然后输入“fastboot oem unlock”。
  4. 在一些设备上需要更多时间。请耐心等到@ 15分钟。
  5. 重启设备

eet

赞同来自:

在尝试了两次之后,我将手机软件回滚到一个稳定的版本,它终于奏效了。我正在运行Cyanogen nightlies。无论如何,这个帖子中发布的内容应该可以帮助遇到此问题的任何人。

hid

赞同来自:

多个adb.exe文件? 从C:/ Windows /删除OLD adb.exe的副本时,我的问题解决了。 我不知道adb.exe的副本是如何进入C:\ Windows \的? 当我从android-sdk / platform-tools /启动adb.exe时,检测没问题。