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

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

运行命令

adb devices 

返回设备名称,但它说它是离线的。

我试过的东西。

  1. 切换Androiddebugging模式
  2. 重新安装Google USB驱动程序
  3. 恢复操作系统到以前的工作备份( CyanogenMod )
  4. 交换了USB线
  5. 重新启动电话/电脑多次
  6. 更新了Android SDK

我真的没有任何线索是怎么回事。 还有什么你认为我可以尝试的,我全是耳朵。

要清楚的是,如果您遇到同样的问题,则问题可能是过时的SDK。 从4.2.2开始,有一个安全function需要您确认连接设备的RSA指纹。 打开SDKpipe理器并更新工具! 然后重启。

我的Nexus 7和Galaxy Nexus更新到Android 4.2.2后,我今天也遇到同样的问题。

为我解决这个问题的是将SDK平台工具升级到r16.0.1。 对于我来说,这个版本并没有显示在我的SDKpipe理器中,所以我直接从http://dl.google.com/android/repository/platform-tools_r16.0.1-windows.zip中下载了它。;

然后,您需要重命名platform-tools目录并将其解压缩到android-sdk-windows/platform-tools 。 使用SDKpipe理器之前,我也更新了最新的sdk-tools。

如果你的整个Eclipse和ADT都是古老的,你可能需要更新它们,但是我不需要。

注意:您可能需要运行SDKpipe理器两次(一次更新自己)才能看到最新的软件包。

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

我在运行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,修订版2

当您使用Wi-Fi模式连接到设备时(例如在Android Studio中或在控制台中通过运行adb tcpip 5555 ),似乎也会频繁发生。

修理:

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

对于任何想知道4.2.2的人来说,在电话上出现一个安全问题,要求与PC进行RSAvalidation。 确保您的工具已更新,并允许通过validation相关设备上的安全问题来访问PC。 这为我修好了。

与往常一样,validation您在开发人员选项中启用了debuggingfunction;)

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

多个adb.exe文件?

我的问题是从C:/ Windows /删除旧版adb.exe的副本时解决的。 我不知道adb.exe的拷贝如何到达C:\ Windows \?

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

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

 android update adb 

我遇到的另一个问题是,我试图通过Wi-Fi连接ADB,这是我唯一的select,因为我的Mac上的USB端口是非常finnicky。 不幸的是,通过Wi-Fi的ADB并没有显示4.2.2中的安全问题,因此您需要find一个可以工作并通过USB连接至less一次的USB电缆来接受安全问题,但是一旦这样做,你可以通过Wi-Fi连接。

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

我意识到我正在使用在/usr/bin复制的过时版本的ADB,终于得到了这个工作。

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

 adb kill-server adb start-server adb devices 

如果您的设备旁边有“设备”列表,则表示您已恢复正常业务。

如果您的设备旁边有“离线”列表,请尝试重新启动设备。 设备上的ADB守护进程有时会挂起。 当LogCat正在运行时,以及在通过Wi-Fi或以太网连接切换后,我断开了电缆的连接。

如果您的设备没有列出,那么您应该尝试在其他答案的解决scheme,从尝试不同的USB电缆和端口开始。 那些便宜的电缆可能坏了。

尝试closuresUSBdebugging一次,然后启用它,然后连接您的设备与系统: 链接

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

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

只要杀死服务器,然后重新启动 它为我工作。

 "adb kill-server" "adb start-server" 

我用adb connect <device_ip>和其他解决scheme的非工作,因为我的问题是在另一边。 在设备上,我需要stop adbd并重新start adbd 。 设备现在再次“在线”。

我试过dturvene和所有其他解决scheme,但他们没有工作。 我还需要一步。

运行这些命令

  1. adb kill-server
  2. android update sdk --no-ui
  3. adb start-server

要validation它是否工作,请在命令前后运行“adb version”,并确保它是最新的。 adb kill-server命令的原因是它很可能正在运行,并且在运行时不能更新,所以你必须先杀死它。

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

  • Android SDK。 亚行版本:1.0.31
  • 使用前置USB端口( MacBook Pro 15“)
  • 启用开发选项和USBdebugging后重新启动手机(通过7次点击设置>关于手机>生成)来重新启动手机。
  • 在没有设备列出的情况下杀死adb服务器(adb kill-server)
  • debugging图标应该在手机上可见。
  • 确保解锁locking屏幕以检查RSA指纹确认对话框。

对我来说没有任何工作 我花了大约12个小时不断地在互联网上search,并尝试为其他有类似问题的人工作的解决scheme。

最后我结束了在局域网上做ADB的工作。 该设置紧邻USBdebugging设置,在ADB中可以通过“adb connect [IPADDRESS]:[PORT]”来激活。 我的手机端口是5555。

我希望这能帮助别人回去工作,而不是处理不断的缺点。

这种方法对我有用:

  1. adb kill-server
  2. 在“设备pipe理器”中禁用脱机设备(请参阅下图)
  3. 在设备pipe理器中启用设备
  4. adb start-server

设备pipe理器,“查看”菜单,“通过连接的设备”:

在这里输入图像描述

如果你之前已经授权你的PC的RSA指纹,并尝试adb kill-server等没有运气,你的问题可能只是你试图连接到它,而它被locking。 尝试按下屏幕上的button,并input你的模式 – 这固定了我。

我认为最好的方法是通过从设备pipe理器禁用然后启用设备并运行adb devices命令。

  1. 转到开始选项卡并右键单击计算机
  2. 从下拉菜单中,点击pipe理
  3. 在计算机pipe理屏幕上,单击设备pipe理器
  4. 在右侧窗格中,展开便携式设备以查找您的设备
  5. 右键点击您的设备名称,然后点击下拉菜单中的禁用
  6. 当它被禁用时,重复步骤5,除了启用它。

该设备将重新上线。 速度更快

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

杀死连接到Mac的兼容设备(例如,Nexus 7)的Android File Transfer Agent.app程序进程可以帮助我消除这种情况。

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

  1. 下载并提取Android SDK

  2. 转到设备pipe理器(右键单击计算机 – >属性 – >设备pipe理器

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

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

  5. 浏览我的电脑寻找驱动程序软件

  6. 在步骤1浏览到您的Android SDK文件夹。

  7. 接下来,你就完成了

尝试按照以下步骤重新启动adb服务器:

 adb kill-server adb start-server 

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

我更新了很多次,直到我不能再更新,但是我的屏幕上没有提示。 我只是不断让设备离线。

我的问题是,我正在从一个不同的目录运行ADB命令到实际正在更新。

ADB exe的正确更新目录是:

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

重新启动设备。 我试过这里列出的所有东西,让我的HTC手机(运行Android 4.0.3)工作,但adb devices一直说它是离线。 我重新启动电话后,终于在线了。 这里的一些其他build议可能会促成电话被认可,但是在尝试这些电话的时候,重新开始几个步骤肯定不会有什么影响。

晚了,但我发现最简单的方法只是去DDMS,并按照图中所示…

在这里输入图像描述

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

在Mac上解决了什么是更新adb到最新版本(1.0.32)。 现在我可以再次看到我的设备在线了

安装了最新的android sdk。
更改了设备的USB端口。
从MTP更改 – >仅收费 – > MTP。
有效。

在尝试了两次之后,我把手机软件恢复到了稳定的版本,最终运行。 我正在运行氰化物晚安。 无论如何,在这个线程发布的东西应该帮助遇到这个问题的任何人。

我也遇到了这个问题。 我更新了Android SDK Manager中的所有内容,使用“设备pipe理器”卸载了我的设备,现在它可以正常工作。 我一路上发布了一些“杀人服务器”和“启动服务器”…