Android设备无法被ADB识别,但可以从Windows XP访问

8
我刚刚购买了一款新的Nexus 7平板电脑,并试图将我的第一个Java应用程序放在上面。但是,我卡在了一个非常基本的点上:ADB无法看到我的设备。当我在我的工作站上检查时,Windows完全可以检测到该平板电脑,我换了USB端口,每个端口都能让设备出现,但ADB仍然无法看到它。我重新启动了设备,但仍然不起作用。有任何想法吗?
更新
实际上有两个问题。首先,我没有激活USB调试模式。这就是为什么我可以从工作站使用平板电脑(作为简单的多媒体播放器),尽管正确的USB驱动程序未安装的原因。
其次,Windows XP未检测到驱动程序(即使我指定了正确的存储库来搜索它)。通过按照adamp所描述的过程解决了这个问题。
5个回答

18

正如Thomas K所指出的,您需要从SDK管理器中安装设备的ADB驱动程序。还需确认设备启用了USB调试,就像mihail所提到的那样。

SDK提供的基本ADB驱动程序是通用的,可以与任何Android设备一起使用。只需在extras/google/usb_driver下的android_winusb.inf文件中添加适当的行,即可让Windows在驱动程序安装期间识别设备硬件ID。将这些行添加到32位Windows的x86部分或64位Windows的amd64部分下。

对于Nexus 7,您需要的配置为:

;Nexus7
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E42
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E42&MI_01

这里需要注意的是两行中的 VID_XXXX 和 PID_YYYY。如果您想添加另一台Android设备,请在文件的正确部分中复制上面的两行。您需要使用正确的硬件ID替换硬件ID以匹配您的设备。

打开设备管理器,找到未安装ADB驱动程序的Android设备,右键单击该设备并选择“属性”。在“详细信息”选项卡中,从下拉列表中选择“硬件ID”。您将看到一个类似于 USB\VID_18D1&PID_4E42&MI_01 的行。将 VID_XXXX 部分和 PID_YYYY 部分复制到上面添加的两行中。保存文件,然后更新设备的驱动程序,并使用刚刚保存的 .inf 文件所在的目录中的驱动程序。


1
非常感谢!这解决了我的问题,如果没有你的帮助,我永远找不到它! - Zonata
现在我知道我应该在我的帖子中添加什么了 ^^。++ - Thkru
我曾经遇到过类似的问题,但这个方法并没有解决我的问题(使用来自XDA的Nexus Toolkit - 这已经设置好了)。最终,我不得不删除Google驱动程序(是的,实际的dll文件 - 我之前安装的SDK中有6和7两个版本),因为它们优先于这些设置。 - Leigh
无法在Gogen TA7300上工作。更新inf文件后,该设备被安装为Android Composite ADB接口(Android手机部分)。奇怪的是PID为0000(REV2207)。有什么建议可以让它正常工作吗?谢谢。 - Warlock
非常非常有用!谢谢!我的Nexus 7需要D002的PID,所以遵循最后一段关于设备管理器的说明非常重要。 - TimH - Codidact

4

您需要适当的ADB驱动程序(顺便说一句:ADB =“Android调试桥”)

请参阅:
http://developer.android.com/sdk/win-usb.html
ADB在Win7中无法识别我的Galaxy Nexus

Download:
http://www.samsung.com/us/support/owners/product/SCH-I515MSAVZW

请不要忘记在“设置>应用程序>开发>USB调试”下启用设备上的调试功能。
另外需要知道的是:

注意:如果您正在使用Mac OS X或Linux进行开发,则无需安装USB驱动程序。 要开始使用您的设备进行开发,请阅读“使用硬件设备”。

如果您已经完成了以上所有步骤,这可能会对您有所帮助:
https://dev59.com/zGgu5IYBdhLWcg3wJT9I#11563780

3
  1. 你是指ADB吗?

  2. 你是否已经在设备设置->应用程序->开发->USB调试中启用了USB调试?

  3. 你是否安装了正确的adb接口usb驱动程序?如果没有,请查看连接设备到电脑时出现的问题?获取更多信息。


1 - 是的,我已经纠正了那个问题。 2 - 不是,我已经启用了调试模式,但没有那个选项。谢谢,我现在正在尝试这个方法。 - Zonata

2

对我有用的是在adb_usb.ini文件中添加了我的设备条目。这个条目实际上被嵌入到硬件ID中。

因此,我的硬件ID为USB\VID_1C9E&PID_9E18&MI_01

然后我在c:\users[用户名].android下的adb_usb.ini文件中添加了

0x1c9e

完整文件内容 -

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.

0x1c9e

0

仍然有问题吗?

在我打开设备的USB调试并正确设置Windows驱动程序以识别设备后,我仍然无法让ADB识别我的Insignia Flex 8平板电脑。这是我必须做的事情:

创建(如果不存在)- c:\ documents and settings \ your-user-name.android \ adb_usb.ini 添加一行十六进制形式的VID ID值: 我的ID值(从...设备管理器确定;右键单击Android Composite ADB接口;属性;详细信息)是:USB \ VID_2207&PID_0011&MI_00 \ 9&1670302B&0&0000

因此,我添加到adb_usb.ini的行是: 0x2207

保存文件并重新启动eclipse(和/或DDMS;左倒三角形;重置adb)。

这样做后,我的NS-14T002设备可用于调试我的应用程序。

更新->奇怪的是,当我最初写这篇文章时,我没有看到上述相同的解决方案(不确定为什么这不可见...)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接