簡體   English   中英

如何通過 adb 獲取 Android 設備的供應商 ID?

[英]How to get Vendor ID of an Android-powered device via adb?

我對如何獲取 Android 設備的供應商 ID 和產品 ID 有疑問。

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

我在插入設備時可以獲取vendor id和product id,但是在安裝windows驅動后,如果同時插入兩個設備,我無法區分真正的vendor id。 因此,我需要通過 ADB 或硬件設備與 android 設備之間的任何其他連接找出供應商 ID。

如果您正在運行 Ubuntu/Linux 只需鍵入

lsusb -v

然后按回車。 它將顯示所有 USB 設備的詳細信息。 在結果中檢查名為“idVendor”的字段並找到您的設備。 例如:我的摩托羅拉 Defy[vendor id = 22b8] 給出,

“ idVendor 0x22b8 摩托羅拉 PCS”

我不知道你是否找到了解決方案,但通過 USB 電纜將我的手機連接到我的電腦並在 ubuntu 終端上輸入以下代碼行我能夠獲得供應商 ID

lsusb

例如,如果您連接了 Nexus One,您將獲得:

總線 002 設備 004:ID 18d1:4e12

在這種情況下,供應商 ID 為“18d1”,產品 ID 為“4e12”。 (我們當然對供應商 ID 感興趣)

ADB 本身不會幫助找到連接的硬件的供應商 ID,實際上(對於 Google ADB 驅動程序)有必要在它與 ADB 一起工作之前設置供應商 ID。

幸運的是,有一種簡單的方法可以找到連接到 Windows PC 的任何設備的供應商 ID(和產品 ID)。 該設備甚至不需要驅動程序即可使用這種方法:

  1. 啟動設備管理器
  2. 在硬件樹中,右鍵單擊要為其確定供應商 ID 的設備的硬件條目。

要檢查的項目的屬性

  1. 在“詳細信息”選項卡上,將屬性下拉列表設置為“硬件 ID”。 供應商 ID 是字母VID_后面的 4 個字符的十六進制數字。 在下面的例子中,供應商 ID 是18D1

顯示供應商和產品 ID

后面的PID_是產品 ID。 它還有一個 4 位十六進制數。

如果您想進入您的 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));
    }

希望這個鏈接對你有幫助

-s serialNumber 是為您提供特定模擬器/設備實例的 adb 命令,由其 adb 分配的序列號(例如“emulator-5556”)引用。我認為這是您正在尋找的 adb 命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM