首页 文章

通过Windows 7 x64上的“adb设备”无法通过USB看到Nexus 7

提问于
浏览
179

我已经做了很明显的事情 - USB驱动程序是从最新的Android SDK安装的,并且在平板电脑中打开了USB调试 .

连接Nexus 7时,设备在Windows Device Manager中显示为"Android Phone" / "Android Composite ADB Device",其属性显示驱动程序版本6.0.0.0,因此安装并运行正确的驱动程序 .

这也证明了该设备处于USB调试模式,因为如果不是它在Windows中的“便携设备”/“Nexus 7”下显示 .

问题是 adb devices 没有显示任何设备,Eclipse也(不出意外)也没有提供Nexus 7作为运行应用程序的硬件设备 .

我重启了两台设备而没有效果 .

我能解决的唯一调试是启用 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*****

我究竟做错了什么?

18 回答

  • 0

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

    一旦我这样做,它连接,我能够在Windows 7 64位上侧载4.2版本 .

  • 5

    我在Windows 7 x64上使用Nexus 7(4.2) . 这里描述的其他方法都不适用于我 . 该选项卡已处于PTP模式 . 最后,当我将以下行添加到<android-sdk> \ extras \ google \ usb_driver下的'android_winusb.inf'并执行'更新驱动程序'时,我可以正常工作:

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

    要获得确切的硬件ID(在我的情况下为USB \ VID_18D1&PID_4E44&REV_9999&MI_01),您可以从下拉列表中进入计算机管理 - >设备管理器 - >详细信息选项卡 - >选择硬件ID .

  • 267

    当插入Nexus 7时,会发出持续通知,指示“ CONNECT AS / Media Device (MTP) ” . 在这种状态下 adb devices 将不会显示Nexus,或者无疑是任何其他设备 . 不是很明显,但如果您选择第二个选项"Camera (PTP)",则该设备可用于调试(该课程将忽略相机,并专注于协议PTP) .

    这种配置是持久性的,我猜测使用全新的设备,它将作为MTP连接,直到另有说明 .

    感谢@Ciaran Gallagher Settings --> Storage --> Top Left Option (Computer USB Connection) tap--> choose MTP

  • 0

    查看博客文章Nexus 7 Android development,其中包含详细步骤 .

  • 7

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

    • 进入“设置”菜单,然后向下滚动到'About phone/tablet' . 点按它 .

    • 再次向下滚动到底部,您会看到'Build number' .

    • 点击七(7)次 . 在第三次点击之后,您将成为开发人员的四分之一 . 继续点击,你有开发人员设置 .

    • 现在在设置下有's '开发人员选项' . 点按它 .

    • 点击'USB debugging'以启用它 .

    资料来源:How to enable developer settings on Android 4.2

  • 1

    要在 Windows 7/8 32bit/64bit 上修复/安装Android USB驱动程序:

    • 将Android设备连接到计算机的USB端口 .

    • 在桌面或Windows资源管理器中右键单击“计算机”,然后选择 Manage .

    • 在左窗格中选择“设备” .

    • 在右窗格中找到并展开“其他设备” .

    • 右键单击设备名称( Nexus 7 / Nexus 5 / Nexus 4 )并选择 Update Driver Software . 这将启动硬件更新向导 .

    • 选择 Browse my computer for driver software 并单击“下一步” .

    • 单击 Browse 并找到USB驱动程序文件夹 . (Google USB驱动程序位于 <sdk>\extras\google\usb_driver\ . )

    • 单击 Next 以安装驱动程序 .

    如果仍然无效,请尝试从 MTP 更改为 PTP .

    MTP -> PTP

  • 0

    我有类似的问题,并尝试了其他建议 .

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

    我用我的Nexus 7运行Windows 7 64位 .

  • 0

    我有类似的问题,我发现取消选中所有选项(包括MTP和PTP)都允许设备从我的计算机上获取RSA指纹,之后“adb devices”工作 .

    请记住,在Android 4.2设备可以通过ADB连接之前,需要接受RSA指纹,这显然是出于安全考虑 .

  • 77

    试试这个 . 如果未检测到您的设备,请使用 PdaNet . 你可以从here下载它 . 下载并安装在您的计算机上 . 连接手机 . 它会自动从Internet检测驱动程序 .

  • 74

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

  • 13

    在我的情况下,我有两个问题:

    • 我的电脑有一个以前的“三星Galaxy II”驱动程序并将其分配给我的Nexus 7 . 我需要多次卸载它 . 最后,我可以绑定正确的Nexus 7驱动程序 .

    • 需要设置PTP选项 .

  • 8

    我还有一台Nexus 7和Windows 7 64位,并且大约一个月前在这个线程和其他人中磕磕绊绊地让ADB工作 . 然后它停止了工作 . 我记得以前唯一奇怪的事情就是Windows在我启动时安装了一些蓝牙驱动程序(我没有蓝牙设备) .

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

  • 5

    我安装了一个HTC One驱动程序,我认为这是不工作的原因 . 但事实证明,原因是我禁用了MTP / PTP .

    我找不到设置的地方,但后来我找到How to Configure the USB on Your Nexus 7 .

    这对我来说很混乱,它位于“存储”选项卡中 . MTP或PTP都适合我 .

  • 1

    另一个选择是如果您的PC上的Windows更新完全关闭 . 在这种情况下,即使您下载USB驱动程序并尝试按上述方法手动更新它也无效 . 在这种情况下,唯一的方法是启用Windows自动更新驱动程序 . 启用此功能后,从设备管理器中删除不工作的驱动程序,并通过USB电缆将平板电脑连接到PC . Windows将自动下载和安装驱动程序 . 这种方式适用于我的Windows 7 PC .

  • 1

    我在Win 7 64位上运行,我发现大多数人在64位时遇到同样的问题 . 为了排除硬件和操作系统,我使用VMware在同一台PC上运行Win 7 32位 . 除了必须使用正确的VID / PID编辑.inf文件之外,其他所有内容都完全适用于Win 7 32位,因此告诉我PC很好,而Win 7 32位也没问题 .

    回到我的Win 7 64位没有上述建议为我工作 . 但是我注意到一件事,ADB安装在Program Files(x86)下,但驱动程序安装程序正在安装64位 . Win 7 64位将Nexus 7识别为Android Composite ADB接口,但ADB未检测到它 .

    那么在某个地方有ADB 64位版本吗?如果我的安装在Win 7 64位下的(x86)下,是否意味着我搞砸了某处的安装 .

    我的问题是否与64位安装的USB驱动程序有关,但ADB是32位?

    在 properties 中安装Nexus 7 USB驱动程序时我注意到的另一个问题我只看到Android Composite ADB Interface for device functions . 在Win 7下,32位属性显示3个设备功能 .

    Win 7 64b

    Win 7 32b

    看起来问题仍然是USB驱动程序 .

  • 1

    完整清单:

  • 68

    在PTP之上,似乎为我解决此问题的解决方案是在允许USB调试时不选择 Always allow from this computer . 撤销授权并在每次设备连接时手动接受修复此问题 . ( Settings -> Developer options -> Revoke USB debugging authorisations

  • 0

    对于那些使用Nexus 5x且只能在设备管理器中看到 Kedacom usb device 并且无法获取adb才能看到手机的人...诀窍是在Kedacom设备上 Update driver... 并将其更改为"Android ADB interface/device"

相关问题