谷歌Android USB驱动程序和亚行

pqu*_*qu3 36 windows android adb inf

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

你能让Google Android Driver适用于任何Android手机吗?如果是这样......怎么样?

我已经尝试了很多排列%SingleAdbInterface%%CompositeAdbInterface%与供应商和产品ID的变化.

Muh*_*eeb 84

您需要修改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
Run Code Online (Sandbox Code Playgroud)

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

如何获得视频和pid:他们是你正在合并的司机; 但如果您没有该设备的驱动程序,您可以通过打开设备管理器获取它; 然后右键单击设备 - 选择属性 - 在新对话框中转到详细信息选项卡>在属性下拉菜单中选择硬件ID.例如,你看到类似的东西:

藏

USB\VID_2207&PID_0000&REV_0222&MI_01
USB\VID_2207&PID_0000&MI_01
Run Code Online (Sandbox Code Playgroud)

获取复合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
;
Run Code Online (Sandbox Code Playgroud)

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

为您要支持的每个设备重复REPEAT

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

[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”
Run Code Online (Sandbox Code Playgroud)

至:

[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”
Run Code Online (Sandbox Code Playgroud)

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

虽然最初的谷歌usb驱动程序是由谷歌签署的,修改android_winusb.inf将阻止在Windows 8上安装它显示错误消息 hasherror

The hash file is not present in the specified catalog file. The file is likely
corrupt    or the    victim of tampering.
Run Code Online (Sandbox Code Playgroud)

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

解决方法:内部测试的解决方法是临时或永久地进行窗口签名验证:

暂时:

转到屏幕左上角或下角打开超级按钮栏并单击设置超级按钮.

选择更改电脑设置

选择一般

向下滚动,然后单击"高级启动"下的"立即重启".

点击"疑难解答".单击"高级选项"单击"Windows启动设置"单击"重新启动".

要么

运行cmd并键入:

shutdown -o -r -t 0
Run Code Online (Sandbox Code Playgroud)

然后重新启动后从列表中选择"禁用驱动程序签名强制执行".在重新启动之前安装驱动程序.

永久性:

按Window + Q.

搜索cmd

右键单击cmd

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

输入cmd:

bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON
Run Code Online (Sandbox Code Playgroud)

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

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

在命令行中:

echo 0x2207 >> "%USERPROFILE%\.android\adb_usb.ini"
Run Code Online (Sandbox Code Playgroud)

幸运的是,Google已在最新adb版本中删除了VendorID过滤功能.因此不再需要此步骤.

最后,您可以通过以下方式测

adb kill-server
adb start-server
adb devices
Run Code Online (Sandbox Code Playgroud)

并在Android设备上的开发人员选项中启用调试

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

  • 非常感谢你,它节省了我很多时间.我忘了Windows 8需要在安装设备之前禁用签名.快乐的代码 (2认同)

pro*_*007 8

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

我通常使用类似于这一行的东西:

;
;some name for the phone (this seems to be arbitrary)
%CompositeAdbInterface%     = USB_Install, THE_HARDWARE_ID
Run Code Online (Sandbox Code Playgroud)

我做的是:

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

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


小智 7

找到以下文件

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
Run Code Online (Sandbox Code Playgroud)

我添加0x2207到文件中.此编号是硬件ID的一部分,可在设备的硬件信息下找到.

我的是:

USB\VID_2207&PID_0010&MI_01

(我尝试执行android update adb,但它没有做任何事.)