我可以使用adb.exe查找手机的说明吗?

时间:2011-06-16 19:29:09

标签: android adb

如果我调用命令“adb.exe devices”,我会得到一个设备列表,每个设备都有一个唯一的ID。这些ID非常适合编程,但不是非常易读。有什么办法可以将其中一个ID链接到手机的(不一定是唯一的)描述吗?例如,如果我有一个ID为1234567890abcdef的设备,我有什么方法可以在现实生活中看出它是摩托罗拉Droid X吗?

5 个答案:

答案 0 :(得分:34)

在Android中,设置中显示Model number条目,显示电话名称。

有一种方法可以通过命令行快速查看:

adb shell cat /system/build.prop | grep "product"

这是 三星Galaxy S 4G 的显示效果:

ro.product.model=SGH-T959V
ro.product.brand=TMOUS
ro.product.name=SGH-T959V
ro.product.device=SGH-T959V
ro.product.board=SGH-T959V
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Samsung
ro.product.locale.language=en
ro.product.locale.region=US
# ro.build.product is obsolete; use ro.product.device
ro.build.product=SGH-T959V

在HTC Desire上,输出如下所示:

ro.product.model=HTC Desire
ro.product.brand=htc_wwe
ro.product.name=htc_bravo
ro.product.device=bravo
ro.product.board=bravo
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=HTC
ro.product.locale.language=hdpi
ro.product.locale.region=

您可以优化查询以仅显示一行:

adb shell cat /system/build.prop | grep "ro.product.device"

adb shell cat /system/build.prop | grep "ro.product.model"

答案 1 :(得分:4)

使用较新的设备,您可以运行

adb devices -l

这将以更易读的形式列出一些设备

示例:

04d9a601ce516d53 device usb:1A134500 product:occam model:Nexus_4 device:mako
015d4b3406280a07 device usb:1A134700 product:nakasi model:Nexus_7 device:grouper
01466E620900F005 device usb:1A134600 product:mysid model:Galaxy_Nexus device:toro

答案 2 :(得分:2)

是的,adb shell cat /system/build.prop很棒,但正如@Matt所说,它有时会因制造不同而有所不同。

恕我直言,最可靠的方法是内置命令:adb shell getprop

=============================================== =======================

以下是异常(Genymotion模拟器)的比较:

通过adb shell cat /system/build.prop,您将获得

ro.product.brand=generic
ro.product.name=vbox86p
ro.product.device=vbox86p
ro.product.board=
ro.product.cpu.abi=x86
ro.product.manufacturer=Genymotion
ro.product.locale.language=en
ro.product.locale.region=US

所以没有模型值:(

通过adb shell getprop,您将获得

[ro.product.manufacturer]: [Genymotion]
[ro.product.model]: [Nexus422ForAutomation]
[ro.product.name]: [vbox86p]

在这里您可以获得型号名称:Nexus422ForAutomation:)

答案 3 :(得分:0)

不幸的是,没有可靠的方法来执行此操作,因为每个制造商都会调整其构建属性

如果在命令行中输入“adb help”,则可以看到adb命令列表和每个命令的说明。

答案 4 :(得分:0)

我使用此脚本(在MacOS上):

 #!/bin/bash

devices=`adb devices | grep "device" | grep -v "List of" | cut -d " " -f 1`

for device in $devices
do
    manufacturer=`adb -s $device shell getprop ro.product.manufacturer | sed -e 's/[[:space:]]*\$//'`
    model=`adb -s $device shell getprop ro.product.model | sed -e 's/[[:space:]]*\$//'`
    echo "$device: $manufacturer $model"
done

它产生例如以下输出:

T076000UWX: motorola XT1053 
C4F12070E5A068E: samsung GT-P7510
4df1ff977b919f91: samsung GT-N7100 
4258393032523638324D: Sony Ericsson LT18i