我正在寻找以下方面的指导或明确答案。我想使用 Google Android USB 驱动程序并修改 android_winusb.inf
以支持任意数量的 Android 设备。我能够成功添加 HTC Evo 平板电脑,但当我尝试添加 LG (Optimus) 或三星(Indulge、Admire)时,驱动程序似乎安装正常,但 ADB 看不到它。
您能让 Google Android 驱动程序适用于任何 Android 手机吗?如果是这样……怎么办?
我已经尝试了 %SingleAdbInterface%
和 %CompositeAdbInterface%
的许多排列以及供应商和产品 ID 的变体。
原文由 pqu3 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要修改 3 处才能使 Google USB 驱动程序适用于任何 Windows 上的任何 Android 手机:
android_winusb.inf
文件adb_usb.ini
白名单(不再需要)以下是详细信息:
1.将您的设备ID添加到
android_winusb.inf
文件要添加的格式是:
在我继续之前,
VID
是 USB 供应商 ID。如何获取 vid 和 pid :它们在您要合并的驱动程序中;但是如果你没有设备的驱动程序,你可以通过打开设备管理器来获取它;然后右键单击设备 - 选择属性 - 在新对话框中转到详细信息选项卡>在属性下拉菜单中选择硬件 ID。例如,您会看到类似以下内容:
为复合 adb 设备取这个值并为单个 adb 设备删除 MI,你得到
将这 2 行复制两次,一次复制到 [Google.NTx86] 部分,另一次复制到 [Google.NTamd64] 部分
重复您要支持的每个设备
现在是 [Strings] 部分的可选编辑:编辑
到:
2. 对修改后的驱动进行数字签名:
虽然原始的 google usb 驱动程序是由 google 签名的,但修改 android_winusb.inf 将阻止它在 windows 8 上安装并显示错误消息
这仅适用于 Windows 8。Windows 7 或更早版本不会显示此错误消息。您必须重新生成目录文件(可能使用 Windows SDK)并签名
解决方法:内部测试的解决方法是禁用 Windows 签名验证:临时或永久:
暂时地:
转到屏幕的左上角或左下角以打开超级按钮栏并单击设置超级按钮。
选择更改电脑设置
选择通用
向下滚动,然后单击“高级启动”下的“立即重新启动”。
单击“疑难解答”。单击“高级选项” 单击“Windows 启动设置” 单击重新启动。
要么
运行 cmd 并输入:
然后在重新启动后从列表中选择“禁用驱动程序签名强制”。在重新启动之前安装驱动程序。
永久:
按 Window+Q
搜索命令
右键单击cmd
从操作栏中选择以管理员身份运行
输入命令:
3. 将您设备的供应商 ID 添加到
adb_usb.ini
白名单(不再需要):adb
曾经有一个支持的供应商 ID 的硬编码白名单。如果您的设备供应商不在列表中 -adb
将完全忽略它。要使adb
识别此类设备,用户必须手动将其供应商 ID 添加到%USERPROFILE%\.android\adb_usb.ini
每行一个 ID。在命令行中:
幸运的是,谷歌在最近的
adb
版本中删除了 VendorID 过滤。所以这一步就不需要了。最后,您可以通过以下方式测试安装:
并在 Android 设备的开发者选项中启用调试
这应该重新启动 ADB 服务器并列出设备。如果驱动程序工作正常,则应列出该设备。