通过从 Windows7x64的“ adb 设备”在 USB 上看不到 Nexus7

我已经做了显而易见的事情—— USB 驱动程序是从最新的 Android SDK 安装的,USB 调试已经在平板电脑上打开。

Nexus7连接后,该设备在 Windows 设备管理器中显示为“ Android Phone”/“ Android Composite ADB Device”,其属性显示驱动程序版本6.0.0.0,因此正确的驱动程序已安装并正常工作。

这也证明了该设备处于 USB 调试模式,因为如果没有,它显示在 Windows 下的“便携设备”/“ Nexus7”。

问题是 adb devices没有显示任何设备,而且 日食也(不足为奇)没有提供 Nexus7作为运行应用程序的硬件设备。

我已经重启了两个设备,但都没有效果。

我唯一能搞清楚的调试是启用 ADB_TRACE=all,但是这没有告诉我任何东西:

mkh@MULE ~/AppData/Local/Android/android-sdk/platform-tools
$ export ADB_TRACE=all


mkh@MULE ~/AppData/Local/Android/android-sdk/platform-tools
$ adb devices
system/core/adb/adb.c::main():Handling commandline()
system/core/adb/adb_client.c::adb_query():adb_query: host:devices
system/core/adb/adb_client.c::_adb_connect():_adb_connect: host:version
system/core/adb/sysdeps_win32.c::socket_loopback_client():socket_loopback_client: port 5037 type tcp => fd 100
system/core/adb/transport.c::writex():writex: fd=100 len=4: 30303063 000c
system/core/adb/transport.c::writex():writex: fd=100 len=12: 686f73743a76657273696f6e host:version
system/core/adb/transport.c::readx():readx: fd=100 wanted=4
system/core/adb/transport.c::readx():readx: fd=100 wanted=4 got=4
4f4b4159 OKAY
system/core/adb/adb_client.c::_adb_connect():_adb_connect: return fd 100
system/core/adb/adb_client.c::adb_connect():adb_connect: service host:devices
system/core/adb/transport.c::readx():readx: fd=100 wanted=4
system/core/adb/transport.c::readx():readx: fd=100 wanted=4 got=4
30303034 0004
system/core/adb/transport.c::readx():readx: fd=100 wanted=4
system/core/adb/transport.c::readx():readx: fd=100 wanted=4 got=4
30303164 001d
system/core/adb/sysdeps_win32.c::adb_close():adb_close: 100(lo-client:5037)
system/core/adb/adb_client.c::_adb_connect():_adb_connect: host:devices
system/core/adb/sysdeps_win32.c::socket_loopback_client():socket_loopback_client: port 5037 type tcp => fd 101
system/core/adb/transport.c::writex():writex: fd=101 len=4: 30303063 000c
system/core/adb/transport.c::writex():writex: fd=101 len=12: 686f73743a64657669636573 host:devices
system/core/adb/transport.c::readx():readx: fd=101 wanted=4
system/core/adb/transport.c::readx():readx: fd=101 wanted=4 got=4
4f4b4159 OKAY
system/core/adb/adb_client.c::_adb_connect():_adb_connect: return fd 101
system/core/adb/adb_client.c::adb_connect():adb_connect: return fd 101
system/core/adb/transport.c::readx():readx: fd=101 wanted=4
system/core/adb/transport.c::readx():readx: fd=101 wanted=4 got=4
30303030 0000
system/core/adb/transport.c::readx():readx: fd=101 wanted=0
system/core/adb/transport.c::readx():readx: fd=101 wanted=0 got=0


system/core/adb/sysdeps_win32.c::adb_close():adb_close: 101(lo-client:5037)
List of devices attached
***NOTHING SHOWN*****

我做错了什么?

176445 次浏览

试试这个。如果未检测到设备,请使用 PdaNet。你可以从 给你下载。下载并安装到您的计算机上。接电话。它可以自动检测互联网上的驱动程序。

当 Nexus7插入时,会有一个指示“ 连接 AS/媒体设备(MTP)”的持久通知。在这种状态下,adb devices将不会显示 Nexus,或者毫无疑问任何其他设备。不完全明显,但如果您选择第二个选项“ Camera (PTP)”,设备可用于调试(教训是忽略摄像头,并集中在协议 PTP)。

这种配置是持久的,而且我猜测,使用一个全新的设备,它将作为 MTP 连接,除非另有说明。

多亏了 Ciaran Gallagher Settings --> Storage --> Top Left Option (Computer USB Connection) tap--> choose MTP

我也遇到过类似的问题,于是尝试了其他的建议。

利用从 http://www.junefabrics.com/android/download.php下载的 PdaNet 驱动程序最终完成了这项工作,并允许我最终通过 ADB 连接。在从这里安装驱动程序之前,我无法识别我的 Nexus,以便在我的设备上侧载新的 Android 4.2。

我用我的 Nexus7运行 Windows764位。

我发现你也可以使用设备管理器-> 更新驱动程序软件-> 浏览我的电脑寻找驱动程序软件-> 让我从我的电脑上的设备驱动程序列表中选择-> Android Phone-> [ ADB 驱动程序版本6接近列表顶部... 对不起,我不记得确切的名字]

一旦我这样做,它连接,我能够副载在 Windows 764位版本4.2。

PDANet 驱动程序是我成功连接到 Windows 7 x64上的 Google Galaxy Nexus 4.2.1的唯一解决方案,它拒绝/忽略来自最新的4.2 ADK (修订版7)-http://junefabrics.com/android/index.php的官方 USB 驱动程序

我在 Windows 7 x64上使用 Nexus 7(4.2)。这里描述的其他方法对我都不管用。选项卡已经处于 PTP 模式。最后,当我将下面这行添加到‘ android _ winusb’时,我可以让它工作了。Inf’在 < android-sdk > 额外的 google usb _ Driver 下面,并且做了一个‘更新驱动程序’:

%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E44&REV_9999&MI_01

要获得确切的硬件 ID (在我的例子中是 USB VID _ 18D1 & PID _ 4E44 & REV _ 9999 & MI _ 01) ,可以进入 电脑管理-> 设备管理器-> 细节 tab-> 从下拉菜单中选择硬件 ID。

Windows 7/832位/64位上修复/安装 Android USB 驱动程序:

  1. 将您的 Android 驱动的设备连接到计算机的 USB 端口。
  2. 在桌面或文件资源管理器上右键单击“电脑”,然后 选择 管理
  3. 在左窗格中选择设备。
  4. 在右窗格中找到并展开“其他设备”。
  5. 右键单击设备名称(Nexus7/Nexus 5/Nexus4)并选择 < strong > Update 驱动程序软件 。这将启动硬件更新向导。
  6. 选择 浏览我的电脑寻找驱动程序软件并单击 Next。
  7. 单击 浏览并找到 USB 驱动程序文件夹 驱动程序位于 <sdk>\extras\google\usb_driver\。)
  8. 单击 下一个安装驱动程序。

如果它仍然不工作,尝试从 MTP改变到 PTP

MTP -> PTP

除了将 USB 连接/存储模式设置为“ Camera (PTP)”之外,我还必须启用自4.2以来一直隐藏的开发者模式。

  1. 进入“设置”菜单,向下滚动到“关于手机/平板电脑”,点击它。
  2. 再次向下滚动到底部,你会看到“构建编号”。
  3. 轻敲它七下。在第三次点击之后,您将看到一个有趣的对话框,显示您还有四次点击就可以成为开发人员。继续点击,你已经得到了开发者设置。
  4. 现在在“设置”下面有“开发者选项”,点击它。
  5. 点击“ USB 调试”启用它。

资料来源: 如何在 Android 4.2上启用开发者设置

就我而言,我有两个问题:

  1. 我的电脑得到了一个以前的“三星 Galaxy II”驱动程序,并分配给我的 Nexus7。我需要卸载它很多次。最后,我可以绑定正确的 Nexus7驱动程序。

  2. 需要设置 PTP 选项。

我也遇到过类似的问题,我发现取消所有选项(包括 MTP 和 PTP)允许设备从我的计算机上获取 RSA 指纹,在那之后“ adb 设备”就可以工作了。

记住,在 Android 4.2 + 设备可以通过 ADB 连接之前,必须接受 RSA 指纹,这显然是出于安全原因。

我还有一个64位的 Nexus7和 Windows7,大约一个月前,我在这个帖子和其他帖子中磕磕绊绊地让 ADB 工作。然后就没用了。我唯一记得的奇怪的事情发生之前是 Windows 安装一些蓝牙驱动程序,因为我启动(我没有蓝牙设备)。

这次我挣扎了一天。现在它又起作用了!我做的最后一件事是使用设备管理器“禁用”设备并重新启动。

我有一个 HTC One驱动程序安装,我认为这是不工作的原因。然而,原因是我禁用了 MTP/PTP。

我没有找到设置的地方,但后来我发现 如何在你的 Nexus 7上配置 USB

这是相当困惑的我,它是在 储藏室选项卡。无论是 MTP 或 PTP 为我工作。

另一个选择是,如果你的电脑上完全关闭了 Windows 更新。在这种情况下,即使你下载的 USB 驱动程序和尝试更新它手动如上所述,它不会工作。在这种情况下,唯一的方法是启用 Windows 自动更新驱动程序。一旦你启用这个,删除非工作驱动程序从设备管理器和连接你的平板电脑通过 USB 电缆。驱动程序将自动下载和安装的 Windows。 这种方法适用于我的 Windows7电脑。

我使用的是 Win 764位,我发现大多数有同样问题的人也使用64位。为了排除硬件和操作系统,我使用 VMware 在同一台 PC 上运行 Win732位。除了必须编辑。Inf 文件与正确的 VID/PID 其他一切都进行了完美的 Win 732位,所以这告诉我的 PC 是罚款和 Win 732位也是罚款。

回到我的 Win 764位,上面的建议对我都不起作用。但是我注意到一件事,ADB 安装在 Program Files (x86)下面,但是驱动程序安装程序正在安装64位。Win764位正在识别 Nexus7作为 Android 复合 ADB 接口,但 ADB 没有检测到它。

那么有没有 ADB 的64位版本呢?如果我的安装在 Win 764位的(x86)下,这是否意味着我在某个地方搞砸了安装。

我的问题是否与 USB 驱动器64位安装,但 ADB 是32位?

我注意到的另一个问题是,当 Nexus 7 USB 驱动程序安装到属性中时,我只看到 Android 组合 ADB 接口的设备功能。 Win7下的32位属性显示3个设备函数。

Win 7 64b Win 7 32b

看起来问题还是 USB 驱动程序。

完整的清单:

  1. 在设备上启用调试
  2. 选择 USB 连接作为 PTP (相机)
  3. http://developer.android.com/sdk/win-usb.html安装 司机

对我来说,在 PTP 之上解决这个问题的解决方案似乎是在允许 USB 调试时不选择 Always allow from this computer。撤销授权和手动接受每次设备连接固定这为我。(Settings -> Developer options -> Revoke USB debugging authorisations)

对于那些使用 Nexus 5x 的用户来说,他们只能在设备管理器中看到 Kedacom usb device,而不能让 ADB 看到手机... ... 诀窍是在 Kedacom 设备上使用 Update driver...,并将其更改为“ Android ADB 接口/设备”