38

我正在寻找有关以下内容的指导或明确答案。我想使用 Google Android USB 驱动程序并修改它android_winusb.inf以支持任意数量的 Android 设备。我能够成功添加 HTC Evo 平板电脑,但是当我尝试添加 LG (Optimus) 或三星 (Indulge, Admire) 时,驱动程序似乎安装得很好,但 ADB 没有看到它。

你能让谷歌安卓驱动程序适用于任何安卓手机吗?如果是这样……怎么办?

%SingleAdbInterface%我已经尝试了许多关于供应商和%CompositeAdbInterface%产品 ID 的排列组合。

4

9 回答 9

85

您需要修改 3 件事以使 Google USB 驱动程序适用于任何 Windows 上的任何 Android 手机:

  1. 将您的设备 ID 添加到android_winusb.inf文件中
  2. 对修改后的驱动程序进行数字签名
  3. 将您设备的供应商 ID 添加到adb_usb.ini白名单(不再需要)

以下是详细信息:

1. 将您的设备 ID 添加到android_winusb.inf文件中

要添加的格式是:

;Comment usually the device name
%SingleAdbInterface% = USB_Install, USB\; here you put VID and PID
%CompositeAdbInterface% = USB_Install, USB\; same as above but add the MI

在我继续之前,VID是 USB 供应商 ID。

如何获取 vid 和 pid :它们在您正在合并的驱动程序中;但是如果您没有设备的驱动程序,您可以通过打开设备管理器来获取它;然后右键单击设备-选择属性-在新对话框中转到详细信息选项卡>在属性下拉菜单中选择硬件ID。例如,您会看到如下内容:

隐藏

USB\VID_2207&PID_0000&REV_0222&MI_01
USB\VID_2207&PID_0000&MI_01

将此值用于复合 adb 设备并删除单个 adb 设备的 MI,您会得到

;MSI WindPad Enjoy 7 plus
%SingleAdbInterface%        = USB_Install, USB\VID_2207&PID_0000
%CompositeAdbInterface%     = USB_Install, USB\VID_2207&PID_0000&REV_0222&MI_01
;

复制这 2 行 TWICE ,一次复制到 [Google.NTx86] 部分,另一行复制到 [Google.NTamd64] 部分

重复您想要支持的每台设备

现在是 [Strings] 部分的可选编辑:编辑

[Strings]
ProviderName                = “Google, Inc.”
SingleAdbInterface          = “Android ADB Interface”
CompositeAdbInterface       = “Android Composite ADB Interface”
SingleBootLoaderInterface   = “Android Bootloader Interface”
WinUSB_SvcDesc              = “Android USB Driver”
DISK_NAME                   = “Android WinUsb installation disk”
ClassName                   = “Android Device”

至:

[Strings]
ProviderName                = “Google, Inc.”
SingleAdbInterface          = “MSI ADB Interface”
CompositeAdbInterface       = “MSI Composite ADB Interface”
SingleBootLoaderInterface   = “MSI Bootloader Interface”
WinUSB_SvcDesc              = “MSI USB Driver”
DISK_NAME                   = “MSI WinUsb installation disk”
ClassName                   = “MSI Tablet”

2. 对修改后的驱动进行数字签名:

尽管原始的 google usb 驱动程序是由 google 签名的,但修改 android_winusb.inf 将阻止在 windows 8 上安装它并显示错误消息 哈希错误

The hash file is not present in the specified catalog file. The file is likely
corrupt    or the    victim of tampering.

这仅适用于 Windows 8。Windows 7 或更早版本不会显示此错误消息。您必须重新生成目录文件(可能使用 Windows SDK)并签名

解决方法:内部测试的一种解决方法是禁用 Windows 签名验证:临时或永久:

暂时地:

转到屏幕的左上角或左下角打开魅力栏,然后单击设置魅力。

选择更改电脑设置

选择一般

向下滚动,然后单击“高级启动”下的“立即重新启动”。

点击“疑难解答”。单击“高级选项”单击“Windows 启动设置”单击重新启动。

或者

运行 cmd 并输入:

shutdown -o -r -t 0

然后在重新启动后从列表中选择“禁用驱动程序签名强制”。在重新启动之前安装驱动程序。

永久:

按窗口+Q

搜索命令

右键点击cmd

从操作栏中选择以管理员身份运行

输入cmd:

bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON

3. 将您设备的供应商 ID 添加到adb_usb.ini白名单(不再需要):

adb曾经有一个受支持的供应商 ID 的硬编码白名单。如果您的设备供应商不在列表中 -adb则完全忽略它。为了adb识别此类设备,用户必须手动将他们的供应商 ID 添加到%USERPROFILE%\.android\adb_usb.ini- 每行一个 ID。

在命令行中:

echo 0x2207 >> "%USERPROFILE%\.android\adb_usb.ini"

幸运的是,谷歌在最近的adb版本中移除了 VendorID 过滤。因此不再需要这一步。

最后,您可以通过以下方式测试安装:

adb kill-server
adb start-server
adb devices

并在 android 设备上的开发者选项中启用调试

这应该重新启动 ADB 服务器并列出设备。如果驱动程序工作正常,则应列出该设备。

于 2013-03-25T07:01:48.303 回答
8

找到以下文件

C:\Users\[你的名字]\.android\adb_usb.ini

并进行以下更改:

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

我添加0x2207到文件中。这个数字是硬件 id 的一部分,可以在设备的硬件信息下找到。

我的是:

USB\VID_2207&PID_0010&MI_01

(我尝试执行android update adb,但它什么也没做。)

于 2012-11-14T14:39:48.833 回答
7

你能给我们一个更好的描述和你在做什么的例子吗?因为我所要做的就是将设备线放在那里,然后保存文件。现在只需重新连接设备即可。

我通常使用类似于此行的内容:

;
;some name for the phone (this seems to be arbitrary)
%CompositeAdbInterface%     = USB_Install, THE_HARDWARE_ID

我所做的是:

  1. 将设备插入计算机。
  2. 转到您的设备管理器。
  3. 右键单击您插入的设备。
  4. 转到属性。然后选择硬件 ID。
  5. 然后获取那里列出的值。
  6. 现在将其添加到您在android_winusb.inf.
  7. 拔下设备并重新插入
  8. 返回设备管理器
  9. 右键单击设备,然后单击更新或安装驱动程序
  10. 选择在您的计算机上搜索驱动程序
  11. 选择目录 Your_Android_SDK_Directory/extras/google/usb_driver/
  12. 按确定

这似乎总是对我有用,这是你在做什么?或者这甚至有帮助吗?

于 2012-03-14T20:01:37.027 回答
2
  1. 修改android_winusb.inf
  2. 签署司机
  3. 修改亚行

我还从http://adbdriver.com/安装了通用 adb 驱动程序 ,它可以工作。

于 2014-05-02T10:18:53.647 回答
1

对于我的 Azpen A727,Windows 驱动程序安装正确,因此只需要 Mohammad 回答的第 3 步。

于 2014-08-23T07:15:42.707 回答
1

答案 1 对我来说非常有效。我在新的 MID 10' 平板电脑上对其进行了测试。以下是我在 .inf 文件中添加的行,并且安装没有问题:

;Google MID
%SingleAdbInterface%        = USB_INSTALL, USB\Vid_18d1&Pid_0003&MI_01
%CompositeAdbInterface%     = USB_INSTALL, USB\Vid_18d1&Pid_0003&Rev_0230&MI_01 
于 2012-06-29T03:56:42.543 回答
1

看起来 Google USB 驱动程序已更新为支持开箱即用的 Glass,因此只要您使用最新的驱动程序,您应该能够通过 ADB 访问 Glass。在我的特殊情况下,我在 2014 年年中的某个时候将 Glass 连接到了我的机器上,但什么也没做。现在,当我尝试连接它时,尽管显示在设备管理器中,但我看不到它出现在 ADB 中。经过多次反复试验,我发现我必须:

  1. 进入设备管理器
  2. 右键单击“SAMSUNG Android Phone”下的“Android ADB Interface”
  3. 点击“卸载”。确保选中“删除此设备的驱动程序软件”。
  4. 断开并重新连接 Google Glass。

然后,我可以通过常规 Windows 更新重新安装驱动程序。这迫使它寻找最新的驱动程序。不知道为什么它之前没有更新,但我希望这能帮助那些仍在为此苦苦挣扎的人。

于 2015-01-19T22:12:33.507 回答
1

没有找到华为的驱动程序。所以我一直在使用通用 ADB 驱动程序:

  • 下载这个
  • 提取ADBDriverInstaller并运行文件。确保您已通过 USB 将设备连接到计算机。
  • 显示一个窗口。
  • 单击安装。
  • 将出现一个对话框。它会要求您按下Restart按钮。

在此之前阅读链接

(The above. in brief, says to press Restart button in the dialog box. Select Troubleshoot. Select Advance Option. Select Startup Setting. Press Restart. After system's been restarted, on the appearing screen press 7)

  • 重新启动 PC 后,ADBDriverInstaller再次运行该文件。从选项中选择您的设备。按安装。

它已经完成了:)

于 2016-07-13T08:00:07.870 回答
0

我没有修改 adb_usb.ini 文件,而是单独对目录 android-sdk\extras\google\usb_driver\ 下的文件android_winusb.inf进行了更改,它适用于平板电脑 MID Q88,但我复制了 [Google.NTamd64] 和 [Google .NTx86]

;Google MID Q88
%SingleAdbInterface%        = USB_INSTALL, USB\VID_18D1&PID_0003&MI_01
%CompositeAdbInterface%     = USB_INSTALL, USB\VID_18D1&PID_0003&REV_0230&MI_01
于 2013-04-30T20:09:58.787 回答