如何通过 adb 获取 Android 设备的供应商 ID?

Posted

技术标签:

【中文标题】如何通过 adb 获取 Android 设备的供应商 ID?【英文标题】:How to get Vendor ID of an Android-powered device via adb? 【发布时间】:2012-04-22 14:36:14 【问题描述】:

我对如何获取 android 设备的供应商 ID 和产品 ID 有疑问。

有没有 adb 的命令可以做到这一点?

我可以在插入设备时获取供应商ID和产品ID,但是在安装Windows驱动程序后,如果我同时插入两个设备,我无法区分真正的供应商ID。所以我需要通过 ADB 或硬件设备和 android 设备之间的任何其他连接找出供应商 ID。

【问题讨论】:

【参考方案1】:

希望这个link对你有帮助

-s serialNumber 是为您提供特定模拟器/设备实例的 adb 命令,由其 adb 分配的序列号引用(例如“emulator-5556”)。我认为这是您正在寻找的 adb 命令为。

【讨论】:

感谢您的回答,我知道serialNumber,它应该部分用pid和vid编码,但我不知道如何。我想要Windows的ID而不是Android。【参考方案2】:

如果您运行的是 Ubuntu/Linux,只需键入

lsusb -v

然后按回车键。 它将显示所有 USB 设备的详细信息。 在结果中检查名为“idVendor”的字段并找到您的设备。 例如:我的摩托罗拉 Defy[vendor id = 22b8] 给出,

"idVendor 0x22b8 摩托罗拉 PCS"

【讨论】:

这绝不会将 adb 拥有的信息(序列号)与实际的供应商/产品 ID 联系起来。在这个层面上,拥有多部相同型号的手机将无法相互识别。【参考方案3】:

ADB 本身不会帮助找到连接的硬件的供应商 ID,事实上(对于 Google ADB 驱动程序),在使用 ADB 之前必须设置供应商 ID。

幸运的是,有一种简单的方法可以找到连接到 Windows PC 的任何设备的供应商 ID(和产品 ID)。该设备甚至不需要驱动程序就可以使用这种方法:

    启动设备管理器 在硬件树中,右键单击要为其确定供应商 ID 的设备的硬件条目。

    在“详细信息”选项卡上,将属性下拉菜单设置为“硬件 ID”。供应商 ID 是字母 VID_ 后面的 4 个字符的十六进制数字。在以下情况下,供应商 ID 为 18D1

后面的PID_ 是产品ID。它还有一个 4 位的十六进制数。

【讨论】:

【参考方案4】:

我不知道你是否得到了解决方案,但是通过 USB 电缆将我的手机连接到我的电脑并在 ubuntu 终端上输入以下代码行我能够获得供应商 ID

lsusb

例如,如果您连接了 Nexus One,您将获得:

总线 002 设备 004:ID 18d1:4e12

在这种情况下,供应商 ID 为“18d1”,产品 ID 为“4e12”。 (我们当然对供应商 ID 感兴趣)

【讨论】:

我在 mac 上收到 lsusb: /sys/bus/usb/devices//1-2: Permission denied @NoumanCh 您只需要在终端上输入lsusb。还要尝试确保可以从计算机访问您的手机。例如,如果您将 USB 配置设置为仅充电,则可以更改为传输文件【参考方案5】:

如果你想进入你的安卓应用程序,你可以使用以下代码

    UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
    HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
    Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
    while (deviceIterator.hasNext()) 
        UsbDevice device = deviceIterator.next();

        Log.e("DB", gson.toJson(device));
    

【讨论】:

以上是关于如何通过 adb 获取 Android 设备的供应商 ID?的主要内容,如果未能解决你的问题,请参考以下文章

Android adb无法连接设备的总结

获取通过 ADB 连接的设备的 Android 操作系统版本 [重复]

如何获得Android设备名称

Android ADB 命令获取设备属性

Android: adb 命令查日志

Android通过ADB查看wifi密码