2012-03-14 108 views
36

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

您可以让Google Android驱动程序适用于任何Android手机吗?如果是这样......怎么样?

我已经尝试了%SingleAdbInterface%%CompositeAdbInterface%的许多变体,其中包括Vendor和Product ID的变体。

+0

转到支持网站的设备制造商。对于通用驱动程序无法工作的设备,制造商通常会提供可下载的驱动程序以启用亚行。 – FoamyGuy 2012-03-14 20:19:53

+0

你有没有试过我的建议呢?如果有效,请+1并接受为答案。这将有助于提高你的个人资料,并使人们更有可能在未来帮助你。谢谢 – prolink007 2012-03-15 13:50:42

+0

我想*不*支持多个设备驱动程序。我有一个应用程序通过ADB与Android设备交谈,我不想管理n个驱动程序的安装。我也不希望用户不必担心安装多个驱动程序。 – pqu3 2012-03-15 16:24:51

回答

8

你能给我们一个更好的描述和你在做什么的例子吗?因为我所要做的就是将该行放入设备中,然后保存该文件。现在只需重新连接设备,它就可以工作。

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

; 
;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. 按OK

这似乎总是为我工作,就是你在做什么?或者这甚至有帮助?

+0

我有一个应用程序,谈到android设备通过ADB,我不想管理n个驱动程序的安装。我也不希望用户不必担心安装多个驱动程序。 – pqu3 2012-03-15 16:25:18

+0

我尝试了上面列出的手机的方法,但没有工作。我尝试了HTC Evo,它的确如此。与三星或LG没有运气。 – pqu3 2012-03-15 16:26:02

+0

我不确定在这点之外要做什么。这对我来说总是有效,我不能重新产生问题。 – prolink007 2012-03-20 17:17:51

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 
+0

添加行后,你会做什么?它如何识别和安装驱动程序? – Slartibartfast 2012-08-01 06:29:37

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 

I a dld 0x2207到文件。该号码是硬件ID的一部分,可在设备的硬件信息下找到。

我的是:

USB\VID_2207&PID_0010&MI_01

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

83

您需要修改,以便使谷歌的USB驱动器适用于任何Android手机的三件事在任何Windows:

  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。比如你看到这样的:

hid

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

借此值复合ADB设备并删除MI单ADB设备,你会得到

;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线两次,一次到[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.数字签名的改进的驱动器:

尽管最初的谷歌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. 

这只是在Windows 8中.Windows 7或更早版本不显示此错误消息。你必须重新编录文件(可能与Windows SDK),并签署

解决方法:一种内部tesing的解决方法是魔鬼窗口签名验证:暂时或永久:

暂时:

向左走屏幕的上角或下角打开魅力栏并单击设置魅力。

选择更改电脑设置

选择一般

向下滚动,并点击“立即重新启动”下的“高级启动”。

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

运行CMD 和类型:

shutdown -o -r -t 0 

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

永久:

按窗口+ Q

搜索CMD

右键单击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" 

幸运的是,谷歌已经删除的厂商ID过滤在最近adb版本。所以这一步不再需要。

最后,你可以通过安装测试:

adb kill-server 
adb start-server 
adb devices 

并启用Android设备

这对开发者选项调试应重新启动ADB服务器和列表中的设备。如果驱动程序正常工作,则应列出设备。

+2

非常感谢,它节省了我很多时间。我忘记了Windows 8需要在安装设备之前禁用签名。 Happy code – edisonthk 2013-06-16 06:02:12

+1

@edisonTHK欢迎您! – 2013-06-16 14:19:14

+1

哇作品像一个魅力iBall幻灯片选项卡:-) – 2013-10-19 12:59:10

-1

而不是修改adb_usb.ini文件I目录下Android的SDK \演员\谷歌就这一文件变化android_winusb.inf \ usb_driver \单独和它的工作的平板MID Q88但我复制两节[谷歌.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 
+2

嗨!欢迎来到stackoverflow。但是,添加已经提供的答案的用途是什么? – 2013-04-30 20:34:07

0
  1. 修改android_winusb.inf
  2. 注册驾驶员
  3. 修改ADB

我也从http://adbdriver.com/ 安装通用adb驱动程序,它的工作原理。

+1

答案很差,但是相关的通用驱动程序非常好,非常通用!可能的是,它自动执行前两个操作。 – MKaama 2016-01-09 15:01:22

0

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

0

看起来Google USB驱动程序已经更新以支持Glass开箱,所以只要您使用最新的驱动程序,您就应该可以通过ADB访问Glass。在我的特殊情况下,我在2014年中期的某个时候将Glass连接到了我的机器上,但没有采取任何措施。现在,当我试图连接它时,尽管出现在设备管理器中,但我不会在ADB中看到它。大量的试验和错误之后,我发现我不得不:

  1. 进入设备管理器
  2. 右击下的“三星的Android手机”
  3. 单击“卸载”的“Android ADB接口”。 BE SURE “删除此设备的驱动程序软件”已选中。
  4. 断开并重新连接Google Glass。

然后,我可以通过定期的Windows更新重新安装驱动程序。这迫使它寻找最新的驱动程序。不知道为什么它没有得到更新之前,但我希望这会帮助那里的人仍然在这方面挣扎。

0

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

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

这样做之前,上面写着this链接

(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文件。从选项中选择您的设备。按安装。

它完成:)