15

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

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

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

4

5 回答 5

20

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

lsusb -v

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

“ idVendor 0x22b8 摩托罗拉 PCS”

于 2013-01-01T18:10:43.540 回答
4

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

lsusb

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

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

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

于 2016-03-24T06:40:14.790 回答
2

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

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

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

要检查的项目的属性

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

显示供应商和产品 ID

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

于 2015-12-17T18:59:41.483 回答
0

希望这个链接对你有帮助

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

于 2012-04-10T13:13:26.457 回答
0

如果您想进入您的 android 应用程序,您可以使用以下代码

    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));
    }
于 2020-10-20T08:27:34.563 回答