ADB未发现设备。

266

我正在尝试在我的全新Nexus 10上安装一个Android应用程序。我有一个.apk文件。我已经下载了Android SDK,安装了"Android SDK工具"、"Android SDK平台工具"和Google USB驱动程序。我已经在我的Nexus 10上检查了"未知来源"的设置。

当我从命令终端运行"adb设备"时,它不列出任何设备。我尝试按照这个建议进行操作,因为它与我之前在Stack Overflow上找到的建议完全相同。按照这些步骤后,"adb设备"仍然返回一个空列表,更糟糕的是,当我将我的Nexus 10连接到电脑时,Windows没有显示设备内部的任何文件夹。

我已经撤销了那个链接中的步骤,以及我迄今为止所做的其他一切,还卸载了我的Nexus 10从设备管理器并重新安装它,但我仍然看不到设备中的任何文件夹。

我是否遗漏了什么,才能让我的设备出现在ADB设备中呢?

我该怎么做才能让Windows看到设备内部的文件夹呢?


36
你是否在Nexus 10的开发人员设置中启用了USB调试? - WarrenFaith
1
向其他人说明:SDK根本不会安装驱动程序!实际上,驱动程序甚至没有安装程序。您必须插入设备并手动告诉Windows驱动程序的位置。 - Amaron
41个回答

210

我的Nexus 10设备无法被Windows 8识别。通过在设备设置菜单中将传输模式设置为相机(PTP),问题得以解决。

设置 > 存储 > 菜单 > USB电脑连接选择“相机(PTP)”


3
我在Windows 8和8.1上使用Nexus 7(2012版)时遇到了同样的问题。 "USB电脑连接-相机(PTP)"可以解决这个问题。 - errollw
2
这解决了我的问题,USB电脑连接有点隐藏,你必须点击三个点的菜单.. - Shehabic
2
适用于Windows 7操作系统和Nexus 7。 - Patrick.SE
8
这也解决了我在 Mac 上的问题。我已经苦苦挣扎了几天了。谢谢! - AskeG
1
我在一台LG G3设备上遇到了同样的问题,它无法被Mac检测到。选择PTP模式解决了这个问题。谢谢! - shauvik
显示剩余6条评论

135

针对Windows 8用户:

在尝试了这里提供的每种解决方案均无成功之后,我找到了以下方法:

进入设备管理器

更新驱动程序...


浏览我的计算机以查找驱动程序 ->从计算机中的设备驱动程序列表中选择

选择Android 设备然后选择Android ADB接口

Android ADB接口


现在我的设备已列在adb devices中。


6
我发现下面的指南很有用。它会逐步引导你完成这个过程...http://visualgdb.com/tutorials/android/usbdebug/manualinstall.php - abaldwin99
1
这在我的Blu Studio X设备上运行良好,在我将其升级到Lollipop(5.x)之前,它在Windows 10上也一直工作正常。 - UnionP
2
这对我也解决了在Windows 10 Pro上使用Nexus 5X的问题。我已经通过Android SDK Manager安装了驱动程序(不够),并在驱动程序安装向导中选择了目录[...]\android-sdk\extras,然后设备就出现了。谢谢! - kjosh
9
这对我有用,但是只有在进入Android SDK管理器,手动选择安装“Extras” -> “USB驱动程序”,然后在设备管理器的“更新驱动程序”对话框中,选择“从驱动程序列表中选择” -> “所有设备” -> “浏览” -> 指向USB驱动程序所在的位置,这在我的情况下位于C:\ Users <userid> \ AppData \ Local \ Android \ sdk \ extras \ google \ usb_driver。请注意,AppData是一个隐藏目录。我还必须确认我确实想要安装此驱动程序,尽管Windows声称它不兼容。但它有效。哇,这是相当奇怪的过程... - JHH
1
在Windows 7上也适用。谢谢! - Joe Taras
显示剩余4条评论

70

这种情况似乎是由某些ADB驱动程序引起的。我在安装几个谷歌设备时遇到了同样的问题,但每次安装Universal ADB windows driver都可以解决。


4
不使用那个驱动程序,而是使用更可靠的Google驱动程序:http://developer.android.com/sdk/win-usb.html。 - phyrox
@phyrox 问问题的人已经尝试了那个驱动程序,而我当时确认它没有解决问题,而我提到的驱动程序却解决了问题。Google可能已经修复了该手机的问题,因为我的回答发布后我无法再次测试(如果是这种情况,我同意Google驱动程序可能是更好的选择),但如果没有,我的回答是唯一可靠解决此问题的方法。 - MilesHampson
这对我没有用。我仍然从adb设备中得到一个空列表。:( 我是否错过了一步?另外,我是否正确地认为如果我没有在手机上启用USB调试,adb设备将不会列出设备? - Reverend Bubbles
链接现在已经失效,因为 Google+ 关闭了。 - Matt

65

4
请注意USB集线器:有时问题并不在电缆本身上,而在于提供给Vcc的电力,因此可能会发生连接太多设备到同一USB集线器可能导致adb失去连接的情况。直接将设备连接到计算机可能会解决这个问题。 - furins
就这么简单。对我有用!! - TienLuong
6
提示:如果第二根电缆无法使用,请尝试第三根电缆。对我有用。随安卓手机附带的电缆不起作用。 - Miscreant
2
有专门的充电线和通用线。我发现最好的来自monoprice.com,甚至有终身保修。价格合理(约2美元)。买几根备着。 - Alan Corey
电缆会随着时间的推移而老化。你越是摇晃和拉扯它,金属疲劳就越快发生。 - danuker

51

如果设备处于MTP模式下,则调试时可能无法看到该设备。有些设备只能在PTP模式下工作(甚至仅在“仅充电”模式下工作)。

可以在设置 > 开发者选项 > 网络 > 默认USB配置 > PTP中更改此设置。

此外,您的Android设备会收到一条通知,询问您是否要确认USB配置设置更改并允许它。

注意:您可以通过以下链接打开开发人员选项启用开发人员选项


3
好的建议。这是我需要解决此问题所需做的唯一事情。其他的建议对我来说都没有解决这个问题。谢谢! - AndroidDev
3
太有效了。@rds 你是对的。更改USB连接模式就可以在相机(PTP)模式下重新安装所有驱动程序,然后出现了调试密钥对话框!或者在某些情况下,还可以尝试在开发者设置中选中/取消选中“允许调试复选框”。 - sud007
这经常让我困扰。我曾经在LG Nexus 5上遇到过这个问题。(大多数情况下是由于坏的USB电缆引起的) - Sentient
2
对我来说,我不得不从开发人员选项中的“选择 USB 配置”中切换到“音频源”模式,而不是 MTP。仅充电模式对我无效。 - JTE
在我的情况下(Android 8):开发者选项 > 网络 > 选择 USB 配置。 - Michele Piccolini
显示剩余4条评论

51

请确保在设置->开发者选项启用USB调试

另外,在进入Android SDK的平台工具文件夹后运行"adb devices"(除非该文件夹已经在系统路径中),否则将找不到该命令。


如果什么都不起作用,尝试更换USB线。我使用了另一根线,它立即起作用了。哈哈 - Ivor Scott
1
刷入新的固件后,这一步很容易被忘记!谢谢。 - lm5050

44
我已经找到了一个解决方案(适用于Windows 7):
  1. 将您的Nexus 10连接到PC上
  2. 进入Windows设备管理器
  3. 右击ADB接口 -> 属性
  4. 详细信息 -> 硬件ID。

您将看到两条如下记录:

USB\VID_18D1&PID_4EE2
USB\VID_18D1&PID_4EE2&MI_01

5 打开android_winusb.inf文件(我将它保存在“C:\ Users \<username>\ AppData \ Local \ Android \ android-sdk \ extras \ google \ usb_driver”目录中)

6 使用ADB接口属性中的硬件ID,在[Google.NTx86]和[Google.NTamd64]节中创建这样的记录:

;Google Nexus 10
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&MI_01

7 保存该文件,并使用“C:\Users \\ AppData \ Local \ Android \ android-sdk \ extras \ google \ usb_driver”路径更新ADB接口的驱动程序。


2
请记得使用管理员权限进行操作,否则您将无法保存文件。 - Paweł Brewczynski
2
抱歉 @bluesm,但我不能这样做。我是通过直觉和用户体验找到了这个解决方案的。 - obi4niy
执行这些步骤会导致Windows不允许更新驱动程序,因为校验和失败。 - petrumo
2
我认为我遇到了@petrumo提到的同样的问题 - 我使用的是Windows 8机器,在第7步(更新驱动程序软件)之前一切都正常,但在此时它抱怨说“文件的哈希值不在指定的目录文件中。该文件可能已损坏或被篡改。” - Calvin Fisher
对我来说,解决方案是从SDK管理器中卸载Google USB驱动程序,重新安装并更新驱动程序,而不修改其属性。 - petrumo
显示剩余2条评论

34

有时ADB会失去与设备的连接,需要进行重置。如果您已经做好了其他所有工作(即安装了USB驱动程序,设备上启用了开发人员选项),但仍然无法看到您的设备,则需要重置ADB进程。

在Eclipse中的DDMS Perspective中可用(从内部),设备选项卡(最右侧的三角形包括一个菜单项来执行重置)。

否则,您可以通过以下2个命令从命令行中重置:

adb kill-server

然后

adb start-server

4
你好,我尝试了adb kill-server和start-server命令。但是设备仍然没有显示出来。 - Sarath Sadasivan Pillai
你需要将adb命令添加到你的类路径中(或者直接在它所在的文件系统位置上执行)。 - Booger
1
感谢您在2013年抽出时间发布这个答案。在2015年,当遇到ADB-USB问题时,它仍然是一个非常有用的选择。谢谢! - Cory Trese
1
谢谢。在尝试了其他所有方法后,这个方法在我的 Mac 上起作用了。我应该先尝试这个方法。 - Steven K
就我所知,我在启动WSL下的adb后遇到了问题,使用这个命令杀死WSL实例似乎让我可以使用Windows版本的adb(我猜当一个接管了端口:5037时,另一边会认为它已经在运行)。 - Christian Reall-Fluharty

15

在您的设备上启用开发人员选项。要启用开发人员模式,请转到 设置->关于手机,连续点击构建号选项8次。

前往设置->开发人员选项并打开USB调试

如果以上步骤没有起作用,请尝试以下步骤:进入设置->安全性并打开允许未知来源.


10

您需要从SDK管理器(extras→Google USB Driver)下载驱动程序。

然后,您需要在Windows中安装USB驱动程序(在Windows 8.1上适用):

(从http://developer.android.com/tools/extras/oem-usb.html#InstallingDriver复制并粘贴:)

  1. 将Android设备连接到计算机的USB端口。
  2. 从桌面或Windows资源管理器中右键单击“计算机”,然后选择“管理”。
  3. 选择左侧窗格中的“设备”。
  4. 在右侧窗格中找到并展开“其他设备”。
  5. 右键单击设备名称(例如Nexus S),然后选择“更新驱动程序”。这将启动“硬件更新向导”。
  6. 选择“浏览我的计算机以查找驱动程序软件”,然后单击“下一步”。单击“浏览”,然后找到USB驱动程序文件夹。(Google USB驱动程序位于<sdk>\extras\google\usb_driver\。)
  7. 单击“下一步”以安装驱动程序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接