如果我調用命令「adb.exe devices」,我會得到一個具有唯一ID的設備列表。這些ID非常適合編程,但不適合人類閱讀。有什麼辦法可以將這些ID之一鏈接到手機的描述(不一定是唯一的)?例如,如果我有一個ID爲1234567890abcdef的設備,有什麼辦法可以在現實生活中找到它是摩托羅拉Droid X?我可以使用adb.exe查找手機的說明嗎?
回答
在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"
不幸的是,沒有可靠的方法來做到這一點,因爲每個廠商調整其生成屬性
如果鍵入「亞行幫助」進入命令行模式,你可以看到亞行命令的列表和每個描述。
對於較新的設備,你可以運行
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
你如何定義「最新版本的Android」? – 2016-12-06 18:53:34
我想在這一點上,它將是Android的大多數版本。我相信截點是Android 4.2及更高版本。 – Sperr 2016-12-06 20:08:27
是,adb shell cat /system/build.prop
是精彩,也可作爲@馬特說,它有時會不同,因爲不同的製造。
恕我直言,最可靠的方法是內置的命令: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 :)
我使用這個腳本(在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
- 1. 藍牙手機,我可以找到手機嗎?
- 2. 我可以使用這樣的案例說明嗎?
- 3. 我們可以使用Android手機控制機器人嗎?
- 4. 我們可以使用PhoneGap的廣告手機嗎?
- 5. 我可以使用Sparkfun 13.56讀取手機的NFC嗎?
- 6. 我們可以使用手機網站觸發手機通話事件嗎?
- 7. 我可以使用我的android手機設置收音機頻道嗎?
- 8. 我可以使用操作助手嗎?
- 9. 可以不用說「Inner Join」就可以使用MySQL/SQL的「Using」短手嗎?
- 10. 我可以使用Android SDK測試手機嗎?
- 11. 我可以使用ADB將手機完全靜音嗎?
- 12. 我可以在android手機中使用postgresql嗎?
- 13. 我可以使用模擬器模擬特定手機嗎?
- 14. 我可以使用NavigationContext.QueryString設置參數嗎? (Windows手機)
- 15. 您可以使用Google Drive API更改文檔的說明嗎?
- 16. 可以從J2ME查詢手機的本機收件箱嗎?
- 17. 我可以寫入Google日曆活動的說明字段嗎?
- 18. 在PhoneJS中可以使用智能手機相機嗎?
- 19. Powershell可以說,但如果我說話可以寫嗎?
- 20. 我可以使用Google API查找最近的城市嗎?
- 21. 我可以使用sum(filter())範圍的查找值嗎?
- 22. 我可以使用profiler查找錯誤的sql參數值嗎?
- 23. 我可以使用xpath查找僅帶錨點的段落嗎?
- 24. 我可以使用jOOX來查找屬性的xPath嗎?
- 25. (OpenID)我可以使用ClaimedIdentifier查找用戶嗎?
- 26. 我在哪裏可以找到Visual Studio 2010 RTM發行說明?
- 27. 我的機器人可以使用Skype,我可以使用Skype for Business嗎?
- 28. 我可以使用我的筆記本電腦的手機gps
- 29. 我可以使用phonegap關閉用戶手機上的漫遊數據嗎?
- 30. Postgres新手。你能幫我幾個簡單的說明嗎?
在HTC的設備,你可能會想看看模型即ro.product.model =的HTC Desire作爲設備用於其代號(ro.product.device =布拉沃)。 – 2011-06-16 19:45:05
我剛剛編輯答案提到'模型',然後看到您的評論:) – inazaruk 2011-06-16 19:48:18
@David Caunt,你能編輯我的答案,並添加您的HTC輸出結果?所以其他人可以看到'model'和'device'之間的區別。 – inazaruk 2011-06-16 19:49:50