adb无法识别Android设备


71

eclipse或adb不再识别我的Android设备。我的操作系统是Windows 7 64位,并且我使用的是Nexus 4和Stock Android 4.4.2。

以下是有关此问题的一些详细信息:

  1. 昨天,我可以在设备上从eclipse运行Android项目,而没有任何问题。我在eclipse上所做的唯一可能会导致此问题的事情是,使用developer.android(https://developer.android.com/tools/support- library / setup.html)。
  2. 在调试模式下,该设备在Windows中仍被视为普通多媒体驱动器。
  3. 当我尝试在eclipse中运行Android Project或尝试adb devices在控制台中使用adb识别设备时,设备处于开发人员模式和调试模式。
  4. Google USB驱动程序已通过ADK管理器安装
  5. 根据android-developers网站上的教程,已经安装了Windows的USB OEM驱动程序(请参阅:https : //developer.android.com/tools/extras/oem-usb.html
  6. 我尝试重新启动亚行通过使用命令adb kill-serveradb start-server,如果设备是通过使用公认的再次检查adb devices。该设备仍未在控制台上列出。
  7. 重新启动Windows和Eclipse无法解决此问题。

有人知道这个问题的解决方案吗?提前致谢!

更新:感谢您的复制,该问题已解决(目前)。我按此顺序尝试了以下建议:

  1. 我重新启动了设备-这不能解决问题
  2. 我将设备设置为PTP模式-这解决了问题。

因此,我再次将设备重置为MTP模式和调试模式,以检查由于某种原因adb是否仍可以识别该设备。当它处于MTP模式时,它肯定不会被adb识别。我不知道几天前它是如何被识别的,因为我从未将设备设置为PTP模式。无论如何,解决我的问题的方法是我的Nexus 4必须处于PTP模式,并且当然必须处于调试模式才能被adb识别。

我没有尝试任何其他建议,因为当前的驱动程序解决了我的问题。


您是否/有机会在另一台机器上测试您的设备?您是否尝试过重启设备?
fasteque 2014年

请尝试重新启动亚行服务器管理员..
ANKIT Popli

4
尝试连接您在PTP模式的设备。它有时会工作..
普里亚

同样的问题,所有这些都发生在我更新SDK之后,将其更改为PTP模式。
dtrejogo 2014年

在这篇文章中尝试解决方案stackoverflow.com/questions/24264562/…–
Antonio

Answers:


28

通常,我认为您的USB连接应该设置为使用MTP(媒体传输),但是,我无法让我的计算机识别我的设备(Nexus 4)。奇怪的是,将USB连接设置为Camera可以使它正常工作。


2
为我工作,以及
阿卡什阿加瓦尔

Nexus 7 2012-在DAYS上跳了舞-最终将MTP更改为Camera,让生活更轻松!谢谢!谢谢!谢谢!哈迪亚支持一百次?!?
Nufosmatic

在我的情况是USBTransferring Images模式的工作
若昂·皮门特尔·费雷拉

10

我也遇到了同样的问题,并尝试了几乎所有可能的方法,从手动安装驱动程序到编辑winusb.inf文件。但是对我没有任何作用。

实际上,解决方案非常简单。它总是在那里,但我们往往会错过它。

先决条件

此处下载最新的Android SDK和最新的驱动程序。启用USB调试并打开设备管理器并保持打开状态。

脚步

1)连接您的设备,然后查看是否在“ Android设备”部分下检测到它。如果可以,则没问题,否则,请检查“其他设备”部分并手动安装驱动程序。

2)请务必检查“ Android Composite ADB接口”。这是Android ADB工作所需的界面。

3)转到“ [SDK] / platform-tools”,在其中按住Shift并单击,然后打开“命令提示符”,然后键入“ adb devices”,并查看您的设备是否在其中列出了唯一的ID。

4)如果是,则此时已成功检测到ADB。接下来,编写“ adb reboot bootloader”以打开引导程序。此时,在“ Android设备”下检查“设备管理器”,您将找到“ Android Bootlaoder接口”。实际上,这对我们来说并不重要。

5)接下来,使用降低音量键,进入“恢复模式”。

6)这很重要-此时,请检查“ Android设备”下的设备管理器。如果您在本节或本节下都没有看到任何内容,那么我们需要手动安装它。

7)检查“其他设备”部分,然后在此处找到您的设备。右键单击->更新驱动程序-“浏览我的计算机...”->“让我从列表中选择...”,然后选择“ ADB Composite Interface”。

8)现在,即使在恢复中,您也可以在“ Android设备”下看到您的设备。

9)此时编写“ adb设备”,您将看到列出的设备具有相同的ID。

10)现在,只需编写“ adb sideload [update] .zip”即可。

希望这可以帮助。


1
@AtiraRoy这帮助了我:7) Check the "Other devices" section and find your device listed there. Right click -> Update drivers -"Browse my computer..." -> "Let me pick from a list..." and select "ADB Composite Interface"谢谢!
Denis Itskovich 2015年

9

我最近遇到了这个问题(但是在通过wifi进行调试之前可以正常工作),并且由于上述任何答案都无法帮助我分享自己的工作。

  1. 转到开发者选项
  2. 找到选择USB配置并单击它
  3. 选择MTP(媒体传输协议)

注意:如果设置为该选项,请首先选择其他选项,例如PTP,然后再次将其设置为MTP。


7

从根本上讲,此问题与无法使MTP + ADB正常工作有关,例如PTP + ADB可能有效。就我而言,当我插入Nexus 5时,Windows 7将仅安装MTP驱动程序,而完全忽略ADB。我在其他任何地方都找不到解决此问题的好方法,因此在这里提供一些步骤(某些步骤是我从其他来源复制来的):

0)拔下Nexus 5的电源。确保选择了MTP和ADB。

1)确保Google SDK中的sdk \ extras \ google \ usb_driverandroid_winusb.inf包含以下几行(在该文件的两个位置):

; Google Nexus(通用)

%CompositeAdbInterface%= USB_Install,USB \ VID_18D1&PID_4EE2&MI_01

注意:VID_18D1是Google VID,PID_4EE2是MTP + ADB的PID,MI_01表示ADB在接口1上(MTP在接口0上)。

您可以通过将Nexus 5插入Linux系统并输入lsusb来检查接口上的内容。

2)首先删除所有已安装的Google USB驱动程序。一个好的工具叫做USBDeview,可以在以下位置找到:http : //www.nirsoft.net/utils/usb_devices_view.html 下载并运行该工具(无需安装)。查看USBDeview窗口最左侧的彩色状态指示器。绿色表示设备正常运行。粉红色表示设备可以拔出电源并正常工作(尽管实际上可能无法正常工作)。红色表示禁用的USB设备。灰色(在下面带圆圈的圆圈)表示设备已安装,但未连接。其次,删除标题中带有“ Google”,“ Linux”,“ ADB”或“ Android”字样的所有灰色项。

3)现在删除旧的缓存Google * .inf文件。打开Windows资源管理器,然后导航到C:\ Windows \ INF目录。某个地方有一个“ oemN.inf”文件(其中N是在您的系统上会变化的数字),它是android_usb.inf的副本-要做的是找到哪个文件并将其删除。Windows在此处保留INF文件的缓存,我们发现有时会使用较旧的缓存副本而不是较新版本。

一种使用Windows资源管理器查找哪一个的简单方法:-在资源管理器的“搜索”框中,输入不带引号的“ androidwinusb86.cat”。-通常,搜索将为空,因为没有文件名具有此模式。-转到工具/文件夹选项,单击搜索选项卡,然后单击始终搜索文件名和内容。单击应用-再次搜索。这次它将列出一些文件,例如“ oem90.inf”(您将拥有一个或多个文件,具有不同的编号)。

现在,使用Windows资源管理器并删除上面匹配的“ oemNN。*”文件(仅适用于其中包含androidwinusb的文件)。

4)现在,我们要在Windows发现ADB之前禁用Windows的MTP安装。现在,在同一目录中搜索wpdmtp。*文件。这些文件的存在将迫使安装MTP而不考虑同一(复合)设备中的ADB类。将这些文件移出\ inf文件夹

5)再次插入设备。这次,MTP和Android ADB驱动程序安装都会失败。

6)在“设备管理器”中找到“其他设备”,展开后应显示Nexus 5和MTP。右键单击并导航到sdk \ extras \ google \ usb_driver \ android_winusb.inf,以更新Nexus 5。

将wpdmtp。*文件移回\ inf文件夹。右键单击MTP设备并更新。

7)如有必要,请在Nexus 5上确认此PC可以访问手机。

8)如果一切按预期进行,您应该在设备管理器中看到以下内容:

  • 展开Android设备。右键单击“ Android Composite ADB Interface”,选择“属性”,选择“选项卡”,然后在“属性”下选择“硬件ID”。您应该看到USB \ VID_18D1&PID_4EE2&MI_01

  • 展开便携式设备。右键单击Nexus 5,选择“属性”,选择“选项卡”,然后在“属性”下选择“硬件ID”。您应该看到USB \ VID_18D1&PID_4EE2&MI_00


非常好写。谢谢。
tschan 2015年

太棒了!处理两个注意事项:1.必须重新启动设备并将其设置为PTP模式。2.我没有要删除的OEM缓存文件,并且设备管理器中只有Nexus作为Android设备。
user3734429

6

尝试使用PdaNet。您可以从这里下载

插入设备时,它将安装缺少的驱动程序。

显然,请确保“开发人员选项”中的“调试USB”选项处于打开状态。

另外,在使用任何设备之前,请先卸载已安装的驱动程序,这一点很重要。


@ user3135185您是否根据我的解释设法解决了该线程?
Nativ 2014年

6

听起来可能很傻,但就我而言,USB电缆太长(即使质量很好)。它适用于我的平板电脑,但不适用于手机。要检查这一点,如果您在Linux上运行,请运行lsusb以确保您的设备至少已正式连接到usb端口。




1

将环境变量设置Path为指向adb应用程序所在的位置:[directory of sdk folder]\platform-tools



1

确保您使用USB而不是闪电电缆进行连接。我在尝试使用两端都带有闪电电缆的电线进行连接时遇到了这个问题,但它没有列出设备。但是切换到USB到雷电电缆还是可行的。


0

查找设备驱动程序并安装驱动程序这将是设备未检测到问题的尽头 Windows出现驱动程序问题,有时会因覆盖现有驱动程序而混乱

您也可以尝试从Win7卸载驱动程序并重新安装


2
请注意,对于Nexus 4,您可以使用SDK的“其他”部分中提供的“ Google USB驱动程序”。
Ellis 2014年

0

检查USB电缆确实能够传输数据。一些更便宜的充电器,尤其是那些打算为非电话/计算机设备充电的充电器,可能仅支持充电。

您可以通过检查设备是否显示为可挂载文件系统来验证这一点。在Linux中,您也可以使用命令lsusb检查是否被检测到。



0

对于没有答案的人。...尝试关闭chrome中的chrome:// inspect /#devices标签(如果已打开)...对我有用。


-2
  1. 在计算机上下载并安装Moborobo软件。
  2. 通过USB电缆将设备与USB调试连接。
  3. 现在打开moborobo,它将连接到您的android。
  4. 保持连接状态,现在您的设备应该可以识别为adb设备并列出。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.