首页 文章

Android设备无法通过adb识别

提问于
浏览
43

我的Android设备不再被eclipse和adb识别 . 我的操作系统是Windows 7 64位,而我正在使用Nexus 4和Stock Android 4.4.2 .

以下是该问题的一些细节:

  • 昨天我可以在我的设备上运行eclipse上的Android项目,没有任何问题 . 我在eclipse上做的唯一可能导致这个问题的是使用本指南在developers.android(https://developer.android.com/tools/support-library/setup.html)上将v7 appcompat支持库从资源安装到eclipse .

  • 当设备未处于调试模式时,该设备仍被识别为Windows中的普通多媒体驱动器 .

  • 当我尝试在eclipse中运行Android项目或尝试在控制台中使用 adb devices 来识别它是否被adb识别时,设备处于开发人员模式并处于调试模式 .

  • 已通过ADK Manager安装了Google USB驱动程序

  • 已根据android-developers网站上的教程安装了适用于Windows的USB OEM驱动程序(请参阅:https://developer.android.com/tools/extras/oem-usb.html

  • 我尝试使用命令 adb kill-serveradb start-server 重新启动adb,并再次检查是否使用 adb devices 识别了设备 . 该设备仍未在控制台上列出 .

  • 重启windows&eclipse并没有解决这个问题 .

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

UPDATE: 感谢您的回复,问题解决了(现在) . 我按此顺序尝试了以下建议:

  • 我重启了我的设备 - 这没有解决问题

  • 我将设备设置为PTP模式 - this fixed the problem.

所以我再次将设备重置为MTP模式和调试模式,以检查adb是否仍会因某种原因识别它 . 它绝对不会在MTP模式下运行 . 我不知道它是如何在几天前得到认可的,因为我从未将我的设备设置为PTP模式 . Anyway, the solution to my problem is that my Nexus 4 must be in PTP-Mode and of course in debug-mode to get recognised by adb.

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

12 回答

  • 5

    一般来说,我认为你的USB连接应该设置为使用MTP(媒体传输),但是,我无法让我的电脑识别我的设备(Nexus 4) . 奇怪的是,将USB连接设置为相机让它对我有用 .

  • 7

    我也遇到了同样的问题,几乎可以尝试从手动安装驱动程序到编辑winusb.inf文件 . 但没有什么对我有用 .

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

    Prerequisites

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

    Steps

    1)连接您的设备,看看它是否在“Android设备”部分下检测到 . 如果是,则确定,否则,请检查“其他设备”部分并手动安装驱动程序 .

    2)务必检查“Android Composite ADB Interface” . 这是Android需要ADB工作的界面 .

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

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

    5)接下来,使用音量减小键,转到“恢复模式” .

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

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

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

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

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

    希望这可以帮助 .

  • 4

    从根本上说,问题与无法使MTP ADB工作有关,例如PTP ADB可能有效 . 在我插入Nexus 5的情况下,Windows 7将仅安装完全忽略ADB的MTP驱动程序 . 我无法在其他任何地方找到解决此问题的好方法,所以我在这里提供步骤(我从其他来源复制的一些步骤):

    0)拔下Nexus 5.确保选择了MTP和ADB .

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

    ;谷歌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设备 . 灰色(带圆圈,下方)表示设备已安装但未连接 . 其次,删除 Headers 中带有“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,选择Properties,选择选项卡Details,在Property select Hardware Ids下 . 您应该看到USB \ VID_18D1&PID_4EE2和MI_01
    • 展开便携式设备 . 右键单击Nexus 5,选择属性,选择选项卡详细信息,在属性下选择硬件ID . 您应该看到USB \ VID_18D1&PID_4EE2和MI_00
  • 0

    尝试使用PdaNet . 你可以从here下载

    当您插入设备时,它会安装缺少的驱动程序 .

    显然,请确保“开发人员选项”中的“调试usb”选项已启用 .

    另外,在使用之前卸载任何设备的已安装驱动程序非常重要 .

  • 0

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

  • -1

    我最近有这个问题(但在调试之前,wifi工作正常)并且因为上述答案都没有帮助我让我分享我的所作所为 .

    • 转到开发者选项

    • 查找选择USB配置并单击它

    • 选择MTP(媒体传输协议)

    注意:如果设置为此选项,请先选择另一个选项(如PTP),然后再将其设置为MTP .

  • 2

    连接USB,在Android设备上设置>开发人员选项>撤销USB调试授权USB调试 . 取下USB并再次连接,然后“允许USB调试” .

  • 0

    通过点击Build Number 7次启用Developer mode为我工作 .

  • 6

    找你的设备的驱动程序并安装它们这将是你的 device not detected problems Windows的驱动程序问题的结束,有时通过覆盖现有的驱动程序搞砸

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

  • 9

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

  • 3

    转到提示命令并键入“adb devices” . 如果它为空,请确保您允许“MTP传输”或类似操作,并在手机上启用调试 .

    要启用调试,请遵循以下教程:https://www.kingoapp.com/root-tutorials/how-to-enable-usb-debugging-mode-on-android.htm

    然后再次输入“adb devices” . 如果那里列出了一个设备,那么它现在应该可以正常工作 .

  • 1
    • 在您的计算机上下载并安装Moborobo软件 .

    • 通过USB电缆连接USB设备进行USB调试 .

    • 现在打开moborobo,它将连接到你的android .

    • 保持联系,现在您的设备应识别为adb设备并列出 .

相关问题