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

时间:2012-04-10 09:48:25

标签: android vendor

我遇到了如何获取Android设备的供应商ID和产品ID的问题。

是否有任何adb命令可以执行此操作?

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

5 个答案:

答案 0 :(得分:17)

如果您正在运行Ubuntu / Linux Just Key in

"lsusb -v " 

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

“idVendor 0x22b8 Motorola PCS”

答案 1 :(得分:4)

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

lsusb

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

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

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

答案 2 :(得分:2)

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

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

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

    1. 在“详细信息”选项卡上,将属性下拉列表设置为“硬件ID”。供应商ID是字母VID_后面的4个字符的十六进制数字。在下面的案例中,供应商ID为18D1
    2. Showing the Vendor and Product ID

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

答案 3 :(得分:0)

希望link帮助你

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

答案 4 :(得分: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));
    }