首页 文章

Android ADB设备离线,无法发出命令

提问于
浏览
278

我无法通过命令行或Eclipse使用ADB连接到我的设备 .

运行命令

adb devices

返回设备名称,但它表示它处于脱机状态 .

我尝试过的事情 .

  • 切换Android调试模式

  • 重新安装了Google USB驱动程序

  • 将操作系统还原为以前正在运行的备份(CyanogenMod

  • 交换USB线

  • 多次重启电话/电脑

  • 更新了Android SDK

我真的不知道发生了什么事 . 你认为我还能尝试的任何其他事情,我都是耳朵 .

To be clear, if you're having this same issue the problem is probably an out-of-date SDK. As of 4.2.2 there is a security feature that requires you to confirm the RSA fingerprint of the connecting device. Open the SDK manager and update the tools! Then reboot.

30 回答

  • 2

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

  • 32

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

  • 3

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

  • 128

    我多次更新,直到我再也无法更新,但我的屏幕上没有提示;我一直让设备脱机 .

    我的问题是我从另一个目录运行ADB命令到实际更新的内容 .

    ADB exe的正确更新目录是:

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

    我的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和_215693都很古老,你可能也需要更新它们,但我不需要 .

    注意:在您看到最新的软件包之前,您可能需要运行两次SDK Manager(一次更新) .

  • 37

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

  • 106

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

  • 18

    另一种可能是ADB连接不稳定的人,如果他们在Mac上并安装了Android File Transfer:我发现文件传输干扰了我的ADB连接,导致它间歇性地停止工作 .

    杀死寻找与Mac连接的兼容设备(例如,Nexus 7)的 Android File Transfer Agent.app 进程可以解决我的问题 .

  • 2

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

    • 下载并解压Android SDK

    • 转到设备管理器(右键单击计算机 - >属性 - >设备管理器

    • 在右侧窗格中展开便携式设备以查找您的设备

    • 右键单击您的设备名称,然后单击“更新驱动程序软件”

    • 浏览计算机以查找驱动程序软件

    • 在步骤1中浏览到您的Android SDK文件夹 .

    • 接下来你就完成了

  • 5

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

    adb kill-server
    
    adb start-server
    

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

  • 61

    我很惊讶地发现我的解决方案没有列在这里 .

    对我来说,我有LG G3 . 必须使用LG的驱动程序连接手机 . 我去了

    Device Manager > uninstall MTP Driver

    并立即adb在没有1秒的情况下工作 .

  • 3

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

    修理:

    • 断开USB连接 - 或关闭通过Wi-Fi连接的设备's Wi-Fi if you' .

    • 关闭Android Studio / Eclipse /其他IDE .

    • 运行 adb kill-server 以确保adb未运行 .

    • 重启您的Android设备 .

    • 设备重启后,通过USB连接并运行 adb devices . 这应该启动ADB守护程序 . 您的设备现在应该再次在线 .

  • 3

    对于想知道4.2.2的人,手机上会出现一个安全问题,要求通过PC进行RSA验证 . 确保您的工具已更新并通过验证相关设备上的安全问题来允许PC访问 . 这为我修好了 .

    和往常一样,验证您是否在开发人员选项中启用了调试;)

  • 4

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

  • 11

    尝试关闭usb调试一次,然后启用agin,然后将设备连接到系统:link

  • 4

    我发现最简单的方法只是去DDMS,然后如图所示......

    enter image description here

  • 13

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

    android update adb
    

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

  • 2

    重启设备 . 我尝试了这里列出的所有内容,以使我的HTC手机(运行Android 4.0.3)正常工作,但 adb devices 一直说它已离线 . 重新启动手机后,它终于在线了 . 这里的一些其他建议可能有助于手机被识别,但是在你受伤的情况下做了一些重启 .

  • 2

    为我工作:在开始它工作,并在一段时间后离线 . 我做了以下的事情: adb kill-server adb start-server . 再次使用usb将手机插入PC adb devices ,提供空列表输出 . adb tcpip 5555adb connect <mobile wifi ip address> 然后它再次上线了 .

  • 20

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

    "device-name is offline" from adb devices command.
    

    只需杀死服务器然后重新开始它对我有用 .

    "adb kill-server"
    "adb start-server"
    
  • 2

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

    • 转到“开始”选项卡,然后右键单击“计算机”

    • 从下拉菜单中,单击“管理”

    • 在计算机管理屏幕中,单击“设备管理器”

    • 在右侧窗格中,展开便携式设备以查找您的设备

    • 右键单击您的设备名称,然后单击下拉菜单中的禁用

    • 禁用时,重复步骤5,但启用它 .

    该设备将重新联机 . 它更快 .

  • 4

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

    adb kill-server
    adb start-server
    adb devices
    

    如果您的设备旁边列有“设备”,则表示您已重新开始营业 .

    如果您的设备旁边列有'offline',请尝试重新启动设备 . 设备上的ADB守护程序偶尔会挂起 . 当LogCat正在运行并且在通过Wi-Fi或以太网连接切换回来之后,我已经断开了电缆 .

    如果未列出您的设备,则应尝试其他答案中的解决方案,首先尝试使用其他USB电缆和端口 . 那些便宜的电缆可能会变坏 .

  • 3

    对我来说没什么用 . 我花了大约12个小时不断在互联网上搜索,并尝试解决其他人有类似问题的解决方案 .

    最后,我最终只是在局域网上做了ADB的事情 . 该设置紧挨着USB调试设置,在ADB中,可以通过“adb connect [IPADDRESS]:[PORT]”激活它 . 我手机上的端口是5555 .

    我希望这有助于某人重新开始工作而不必处理不断的弊端 .

  • 8

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

  • 6

    我尝试了dturvene和所有其他解决方案,但它们没有用 . 我还需要一步 .

    运行这些命令

    • adb kill-server

    • android update sdk --no-ui

    • adb start-server

    要验证它是否有效,请在命令之前和之后运行'adb version'并确保它是最新的 . adb kill-server 命令的原因是它很可能正在运行,并且在运行时无法更新,因此您必须先将其终止 .

  • 3

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

    • Android SDK . 亚行版本:1.0.31

    • 使用正面USB端口(MacBook Pro 15“)

    • 启用开发选项和USB调试后重启手机(通过7倍点击设置>关于手机>构建) .

    • 如果未列出任何设备,请终止adb服务器(adb kill-server)

    • 手机上应显示调试图标 .

    • 确保解锁锁定屏幕以检查RSA指纹确认对话框 .

  • 16

    更新SDK工具后,请务必使用 platform-tools 文件夹中的 adb .

    在我意识到我在 /usr/bin 中使用过时版本的ADB后,我终于开始工作了 .

  • 4

    这种方法对我有用:

    • adb kill-server

    • 在设备管理器中禁用脱机设备(参见下图)

    • 在“设备管理器”中启用设备

    • adb start-server


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

    enter image description here

  • 2

    Multiple adb.exe files ?

    C:/Windows/ 删除OLD adb.exe的副本时,我的问题已解决 . 我不知道adb.exe的副本是如何进入C:\ Windows \的?

    当我从 android-sdk/platform-tools/ 启动adb.exe时,检测没问题 .

  • 2

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

    android update sdk --no-ui
    

    现在我的开发工具是:

    • SDK rev 16.0.2

    • SDK工具rev 21.1

    • SDK API 17,rev 2

相关问题