Android

关注公众号 jb51net

关闭
首页 > 软件编程 > Android > android USB修改VID

android USB如何修改VID具体实现

投稿:whsnow

在android 设备的Linux 内核中把 USB 驱动的 PID VID 修改以后,也许之前的adb工具就不能识别设备了,会打印出"device not found"的提示

1.Android 手机driver端:
[GB Version]
File to modify: alps\mediatek\custom\[Chip]\kernel\usb\src\mtk_usb_custom.h
Modification: VENDOR_ID
[ICS and JB Version]
File to modify: alps\mediatek\config\[Chip]\init.usb.rc
Modification: sys.usb.vid

2:电脑端
PC端请修改 MTK release 的driver 加上 您新加的VID和PID 即可。
请修改 android_winusb.inf

; HTC Magic
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C03&MI_01
参考如上这一句,后面加上贵司的改动。比如:
; ZTE/LENOVO/HUAWEI phone
%CompositeAdbInterface% = USB_Install, USB\VID_XXXX&PID_XXXX&MI_01

3:右击我的电脑->属性->高级->环境变量,添加 ANROID_SDK_HOME 环境变量。如果你有 android SDK, 就设成 SDK 的路径;如果没有,那也没关系,设为你觉得方便的任何路径。

4. 在前面设置的 ANDROID_SDK_HOME 对应的路径下,寻找 .android 目录,如果没有就创建一个;在 .android 目录下新建一个文件,叫 adb_usb.ini, 记住,后缀是 "ini" ;添加前面获得的 VID 到 adb_usb.ini 中,如 0xAAAA。

5. 然后安装 adb 驱动

6. 进入 DOS cmd, 分别输入 adb kill-server, adb start-server, adb devices;若能看到 devices 列出,那么就成功了。
另外,网络上的参考资料如下:
Android USB VID PID 及 ADB
在 android 设备的 Linux 内核中把 USB 驱动的 PID VID 修改以后,也许之前的 adb 工具就不能识别设备了,会打印出 "device not found" 的提示,特别是 windows ,adb 驱动也不能用了。
这个时候该怎么办呢?

一、先搞清现在的 PID ,VID 为多少,例如分别为 aaaa、bbbb(十六进制)
对于 windows, 可从相应设备的属性中获得

二、对于windows
1. 修改 adb 驱动中的 android_winusb.inf 文件。对照着别的项目加就可以了。
例如:
; My product
%CompositeAdbInterface% = USB_Install, USB\VID_AAAA&PID_BBBB
%SingleBootLoaderInterface% = USB_Install, USB\VID_AAAA&PID_BBBB&MI_01
2. 右击我的电脑->属性->高级->环境变量,添加 ANROID_SDK_HOME 环境变量。如果你有 android SDK, 就设成 SDK 的路径;如果没有,那也没关系,设为你觉得方便的任何路径。
3. 在前面设置的 ANDROID_SDK_HOME 对应的路径下,寻找 .android 目录,如果没有就创建一个;在 .android 目录下新建一个文件,叫 adb_usb.ini, 记住,后缀是 "ini" 哦;添加前面获得的 VID 到 adb_usb.ini 中,如 0xAAAA。
4. 然后安装 adb 驱动
5. 进入 DOS cmd, 分别输入 adb kill-server, adb start-server, adb devices;若能看到 devices 列出,那么就成功了。

三、对于linux
1. 在用户的 home 目录下,寻找 .android 目录,如果没有就创建。在 .android 目录下新建一个文件,叫 adb_usb.ini, 记住,后缀是 "ini" 哦;添加前面获得的 VID 到 adb_usb.ini 中,如 0xAAAA。
2. 在 shell 中 分别输入 adb kill-server, adb start-server, adb devices;若能看到 devices 列出,那么就成功了。

这里 kill-server,是 kill 掉 adb 的 daemon,否则,adb 还是保留着先前的 Vender 信息。start-server 就加载了新的 Vender 信息。

注意:有些人可能用 adb 需要超级用户权限,这时第一步中的home 目录应该为 /root,不想麻烦,直接两个 Home 目录都加上得了。

阅读全文