关于Android机型的pid vid的那些破事儿

          先来理下什么是pid vid的概念

使用USB插入android设备,点击我的电脑—管理—设备管理器—图象处理设备—设备属性—详细信息,之后会出现“USB\VID_05A9&PID_2800\5&1BFE1C47&0&8”等字样;实际上是一个USB设备在Windows系统下作为其唯一标识的ID,准确的名称叫做DevicePath,当然那个还不是完整的。在USB\VID_05A9&PID_2800\5&1BFE1C47&0&8里面,USB代表设备类型,5&1BFE1C47&0&8代表设备连接位置,包括总线位置,控制器位置,控制器编号,端口编号这几项,而VID_05A9&PID_2800则是设备信息,而USB的驱动也正是依赖于这个,VID其实是Vendor ID,而PID则是Product ID,分别代表生产商的编号和生产商内部的产品编号。原则上说一个USB设备必须有PID和VID,属于USB接口芯片的可选设置,但是现在貌似很多生产商都是随意写的,尤其是国内好多厂商申请vid比较难,索性使用知名的厂商的vid。

vendor ID 厂家ID和product ID。 VID是要申请的(当然你也可以随便写),PID是厂家自己定义的。
PID / VID可以唯一标识一个设备

最近再弄关于android的PC端管理工具,发现好多android手机的pid,vid并不唯一(PID / VID可以唯一标识一个设备好像不成立),比如一台摩托罗拉XT800+和摩托罗拉的里程碑的pid,vid是一模一样的,至少我这边从设备管理器获取的信息是这样的,当两台手机同时插入PC端,在未安装驱动的时候(这个时候adb拿不到设备序列号)检测出2台设备属于同一款机型,因为后台数据库里面只有一份数据,基本上提示用户是某某手机属于扯淡,不知道各位有啥好的办法支撑不?

 

苦于后台数据库的数据不足,我们只能通过PC客户端手机用户的一些手机的model,pid,vid然后人工统计,进行有效的补足措施。

 

谈到mac下的android管理工具的开发,貌似少了驱动这边的一些繁琐的事情,由于见识和经验不足,谈到此处,如果问题及时联系。

你可能感兴趣的:(QT,Windows,Android)