市场上的手机型号有千万种,如果你需要通过电脑对手机进行操作,比如刷机、root都需要通过ADB,但是不同厂家的驱动不一样,非常麻烦。怎么样搞一个通用的驱动呢?
OK,让我们来看一下一个ADB驱动到底包含什么东东。
1.i386目录
这几个dll全部都是由windows签名的文件,用来在驱动安装过程中执行辅助任务。
2..inf文件
inf文件中内容较多,但是也是一些指示性内容。跟驱动有关的大概就是这么几句
%HTC% = USB_Install, USB\VID_0BB4&PID_0C01&MI_01%HTC% = USB_Install, USB\VID_0BB4&PID_0C02&MI_01
3..cat文件
cat文件是一些对驱动的目录性描述,以及签名。
也就是说基本上没有什么.sys之类的文件,本人对驱动开发不太懂,但是粗略猜测,这种属于UMDF ,用户模式驱动框架。
通过了解发现windows的设备标识符 HID除了 USB\VID_vvvv&PID_pppp&MI_mm这种形式外还有一种兼容ID
形如, USB\Class_FF&SubClass_42&Prot_01 而所有的ADB接口都是这种ID类型,其定义可以在adb.h中看到
https://github.com/jcs/adb/blob/master/adb.h#L436
Windows在安装驱动时会对兼容ID进行匹配,如果是一样的则认为可以用。因此,只要在.inf中加入对兼容ID的支持,即可将这个驱动变成兼容驱动,所有的手机的ADB都可以用。
参照:http://cdnpic.mgyun.com/files/wdj_drivers/mgyun_driver_32_1.zip
这是root大师所生成的驱动,反正我等拿来用就是了。
----------------------------------------------------------------------
更多内容,签名,驱动安装 请看
https://github.com/koush/UniversalAdbDriver