从Windows 7 x64通过USB经由“ adb设备”无法看到Nexus 7


182

我做的很明显-从最新的Android SDK安装了USB驱动程序,并在平板电脑中打开了USB调试功能。

的Nexus 7连接,该设备显示了在Windows 设备管理器为“Android手机” /“Android的综合亚设备”,以显示驱动程序版本6.0.0.0的属性,所以在安装正确的驱动程序和工作。

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

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

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

我唯一能弄清楚的调试是enable 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*****

我究竟做错了什么?


12
转到设置->关于平板电脑。点击“内部版本号”七次。瞧
Sharief

1
轻按内部版本号7次后,您将在设置中看到名为“开发人员选项”的新选项。从那里我还必须启用USB调试。开发人员选项> USB调试。
Quazi Irfan 2014年

1
值得添加的如果其他所有方法都失败,请尝试使用另一条USB电缆!我打开了开发人员模式USB调试程序,并尝试了所有的USB存储选项,但是只需简单地更改电缆即可。
大卫·道格拉斯

Answers:


268

插入Nexus 7后,系统将显示一条永久性通知,指出“ CONNECT AS / Media Device(MTP) ”。在这种状态下adb devices将不会显示Nexus或任何其他设备。并不是很明显,但是如果选择第二个选项“摄像机(PTP)”,则该设备可用于调试(该课程将忽略摄像机,而将重点放在协议PTP上)。

这种配置是永久性的,我猜测如果使用全新的设备,它将以MTP的方式连接,除非另行通知。

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


3
我必须同意-经过数小时的搜索,更改了驱动程序等,才使Nexus 7能够正常显示(更改为PTP)。现在要增加对我的平板电脑应用程序的支持-非常感谢!
罗伯

6
选择错误的模式后,如何才能切换到相机(PTP)模式?
Seen Osewa

5
非常感谢。再过几分钟,我的nexus7就会跟随我的WindowsPC飞出窗户。
奥维迪乌

38
对于想知道如何切换到“相机”模式的其他用户,请转到“设置”,然后在“设备”部分,单击“存储”,然后单击标题窗格右侧的椭圆,然后单击“ USB”。计算机连接”,然后在“连接为”部分中,选中“摄像机(PTP)”选项,则它会起作用。
Ciaran Gallagher 2013年

1
@OMA进一步更新:我需要拿起NVidia Shield并在其上测试我的应用程序,但它没有PTP模式。正如我所期望的那样,它没有显示(假设我的其他设备都没有在该开发系统上以MTP模式显示)。稍微摆弄.inf文件以及删除和重新安装驱动程序,最终使它可以在MTP模式下工作。我认为这是将匹配设备ID从“ CompositeAdbInterface”切换为“ SingleAdbInterface”的方法,尽管我不敢保证。
SomeCallMeTim 2014年

77

查看博客文章Nexus 7 Android开发,其中包含详细步骤。


2
有很多事情需要检查/出错,这似乎涵盖了很多-为我修复了它。即插即用这么多,是吗?
2012年

2
是的,我们的软件开发人员类型不得不忍受很多废话。否则没人会认为我们很酷。
Ruairi O'Brien

很棒的文章只缺少来自user140525的隐藏开发人员设置的注释
Martin Belcher-AtWrk

哇谢谢你!Mike缺少的解决方案是使用Android SDK的路径修复设备管理器中的驱动程序。现在可以了。
Ixx 2013年

这个链接解决了我的问题;我的Windows 10开发人员必须执行步骤“为nexus7安装Windows7 USB驱动程序”
某处某人

74

除了将USB连接/存储模式设置为“相机(PTP)”之外,我还必须启用开发人员模式,该模式从4.2开始就已隐藏。

  1. 转到“设置”菜单,然后向下滚动到“关于手机/平板电脑”。点一下
  2. 再次向下滚动到底部,您会看到“内部版本号”。
  3. 点按七(7)次。第三次点击后,您将看到一个有趣的对话框,提示您距离成为开发人员还有四步之遥。继续轻按,即可获得开发人员设置。
  4. 现在,在“设置”下有“开发人员选项”。点一下
  5. 点击“ USB调试”将其启用。

来源:如何在Android 4.2上启用开发人员设置


4
这个答案应该投赞成票,因为这是我解决这个问题的关键
TechnoTony 2013年

1
是的,这与实际答案一起解决了我的问题。谢谢:)
mac

1
当我在三星Nexus上也刷新了最近几次CyanogenMod夜间睡梦之一时,自动禁用了调试选项。我必须做同样的事情才能重新启用它们。谢谢您的解释和帮助。
Giorgos Keramidas

谢谢您,您节省了一天。我认为他们可以将它隐藏得更多。像一些其他语音激活。打开芝麻之类的。
Tibor Szasz 2014年

68

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

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

如果仍然无法进行,请尝试从MTP更改为PTP

MTP-> PTP


5
非常感谢,但是必须首先通过SDK Manager下载驱动程序
Andrey Vorobyev

非常感谢您提供的分步指南,它适用于Nexus 4
Raymond Chenon,2013年

这是唯一帮助我在Nexus 7上安装我的应用程序的东西
。– midiwriter

这是许多这些点的结合。这是我的最后一个。
noelnoegdip

1
我设法使它使用技术工作。请注意,如果您仅选择adt文件夹(即adt-bundle-blahblahblah)或仅“ sdk”文件夹窗口将遵循目录结构以查找驱动程序文件。少导航:)谢谢!
andrewktmeikle

13

我发现您也可以执行设备管理器->更新驱动程序软件->浏览计算机上的驱动程序软件->让我从计算机上的设备驱动程序列表中进行选择-> Android Phone-> [ADB驱动程序版本6,位于顶部清单...抱歉,我不记得确切的名字了]

这样做之后,它就连接上了,并且我能够在Windows 7 64位系统上加载4.2版本。


1
对于登陆这里寻找联系4的相同问题的任何人来说,这都可以解决。只需选择具有更高版本号的标准三星adb驱动程序即可。我知道nexus 4是LG设备,但它是相同的USB主机控制器。
melodiouscode 2013年

8

我在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。


7

我遇到了类似的问题,并尝试了其他建议。

http://www.junefabrics.com/android/download.php下载的文件中利用PdaNet驱动程序终于完成了工作,并最终使我能够通过ADB进行连接。从此处安装驱动程序之前,我无法识别Nexus以便在设备上加载新的Android 4.2。

我在Nexus 7上运行Windows 7 64位。


我正在运行Sony Xperia L(C2105),并且可以正常工作。只需从站点安装,而不是安装到设备(也许甚至不需要此设备),请确保已打开USB调试,如果未连接,请尝试重新连接微型USB几次(我的灰尘覆盖了我的灰尘) :
Igor L.

5

我遇到了类似的问题,我发现取消选中所有选项(MTP和PTP)都允许设备从我的计算机获取RSA指纹,然后“ adb设备”工作了。

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


2
运行命令:adb devices后,取消选中MTP和PTP都可以工作,并且显示设备。然后设备提示允许RSA指纹。很好,谢谢!
goodies4uall 2013年

1
1.拔下USB,2.取消选中MTP和PTPT,3.重新插>>收到RSA提示
yano

5

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


经过数小时的谷歌搜索和大惊小怪之后,这什么也解决不了我。我使用Windows 7 64位,Nexus 7,并使用SDK的USB驱动程序的版本6。谢谢!
索科龙


1

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

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

  2. 需要设置PTP选项。


1

我也有一个Nexus 7和Windows 7 64位操作系统,大约一个月前通过在该线程和其他线程中碰到了问题,使ADB正常工作。然后它停止工作。我记得以前发生的唯一奇怪的事情是Windows在启动时安装了一些蓝牙驱动程序(我没有蓝牙设备)。

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


1

我安装了HTC One驱动程序,我认为这是无法正常工作的原因。但是,事实证明,原因是我同时禁用了MTP / PTP。

我找不到设置的地方,但后来找到了如何在Nexus 7上配置USB

这让我很困惑,它在“ 存储”选项卡中。MTP或PTP均可为我工作。


0

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


0

我使用的是Win 7 64位操作系统,并且看到大多数人在同样的问题上也使用64位操作系统。为了排除硬件和操作系统,我使用VMware在同一台PC上运行32位Win 7。除了必须使用正确的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位吗?

在“属性”中安装Nexus 7 USB驱动程序时,我注意到了另一个问题,我仅看到用于设备功能的Android Composite ADB接口。在Win 7 32位属性下显示3种设备功能。

赢了7 64b 赢7 32b

看来问题仍然在于USB驱动程序。



0

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


0

对于那些使用Nexus 5x且只能Kedacom usb device在设备管理器中查看但无法让adb看到电话的人,窍门是Update driver...在Kedacom设备上并将其更改为“ Android 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.