Android ADB 命令获取设备属性
Posted
技术标签:
【中文标题】Android ADB 命令获取设备属性【英文标题】:Android ADB commands to get the device properties 【发布时间】:2014-02-01 16:07:23 【问题描述】:我正在尝试从 ADB 命令中获取设备属性。我可以通过运行示例 android 应用程序来获得这些值。我多么希望使用 adb shell 命令本身来让我的生活更轻松。这是我将通过示例应用程序的方式,但我想要相应的 adb 命令用于
-
设备制造商
设备硬件
设备型号
操作系统版本(整数值)
内核版本
* 请注意,我的设备没有植根,我不知道植根设备以获得这些值 :-) *
## Code snippet
import android.os.Build;
manufacturer = Build.MANUFACTURER;
hardware = Build.HARDWARE;
model = Build.MODEL;
oSVersion = Build.VERSION.SDK_INT;
kernelVersion = System.getProperty("os.version");
但是我可以获得操作系统版本。但后来我想要整数的 SDK 版本。我想要 18 代替 4.2.2
C:\>adb shell getprop ro.build.version.release
4.2.2
【问题讨论】:
示例输出在这里也很有用。 【参考方案1】:adb shell getprop ro.build.version.sdk
如果您想查看完整的参数列表,只需键入:
adb shell getprop
【讨论】:
如果我们连接了多个设备,我们如何获取这些信息? 您可以编写一个脚本来对所有设备执行相同的 adb 命令,或者使用 -s 指定您感兴趣的一个 还有 adb -d 开关,如果存在多个 USB 设备,则将命令定向到唯一连接的 USB 设备会返回错误。 (或 -e 用于模拟器) 谢谢,我用这个adb shell getprop ro.crypto.state
来了解我的华为p9 lite是否是全盘加密的。希望其他人用谷歌搜索找到这条评论。【参考方案2】:
从 Linux 终端:
adb shell getprop | grep "model\|version.sdk\|manufacturer\|hardware\|platform\|revision\|serialno\|product.name\|brand"
来自 Windows PowerShell:
adb shell
getprop | grep -e 'model' -e 'version.sdk' -e 'manufacturer' -e 'hardware' -e 'platform' -e 'revision' -e 'serialno' -e 'product.name' -e 'brand'
三星的示例输出:
[gsm.version.baseband]: [G900VVRU2BOE1]
[gsm.version.ril-impl]: [Samsung RIL v3.0]
[net.knoxscep.version]: [2.0.1]
[net.knoxsso.version]: [2.1.1]
[net.knox***.version]: [2.2.0]
[persist.service.bdroid.version]: [4.1]
[ro.board.platform]: [msm8974]
[ro.boot.hardware]: [qcom]
[ro.boot.serialno]: [xxxxxx]
[ro.build.version.all_codenames]: [REL]
[ro.build.version.codename]: [REL]
[ro.build.version.incremental]: [G900VVRU2BOE1]
[ro.build.version.release]: [5.0]
[ro.build.version.sdk]: [21]
[ro.build.version.sdl]: [2101]
[ro.com.google.gmsversion]: [5.0_r2]
[ro.config.timaversion]: [3.0]
[ro.hardware]: [qcom]
[ro.opengles.version]: [196108]
[ro.product.brand]: [Verizon]
[ro.product.manufacturer]: [samsung]
[ro.product.model]: [SM-G900V]
[ro.product.name]: [kltevzw]
[ro.revision]: [14]
[ro.serialno]: [e5ce97c7]
【讨论】:
【参考方案3】:您应该使用adb shell getprop
命令和grep
有关您当前设备的特定信息,有关其他信息,您可以阅读文档:
Android Debug Bridge documentation
我在下面添加了一些示例:
语言 - adb shell getprop | grep language
[persist.sys.language]: [zh]
[ro.product.locale.language]: [en]
启动完成(重置后设备就绪)-adb shell getprop | grep boot_completed
[sys.boot_completed]:[1]
设备型号 - adb shell getprop | grep model
[ro.product.model]:[Nexus 4]
sdk 版本 - adb shell getprop | grep sdk
[ro.build.version.sdk]:[22]
时区 - adb shell getprop | grep timezone
[persist.sys.timezone]:[亚洲/中国]
序列号 - adb shell getprop | grep serialno
[ro.boot.serialno]:[1234567]
【讨论】:
【参考方案4】:用于 Power-Shell
./adb shell getprop | Select-String -Pattern '(model)|(version.sdk)|(manufacturer)|(platform)|(serialno)|(product.name)|(brand)'
对于 linux(从@0x8BADF00D 挖洞)
adb shell getprop | grep "model\|version.sdk\|manufacturer\|hardware\|platform\|revision\|serialno\|product.name\|brand"
在 power shell 中查找单个字符串
./adb shell getprop | Select-String -Pattern 'model'
或
./adb shell getprop | Select-String -Pattern '(model)'
多个
./adb shell getprop | Select-String -Pattern '(a|b|c|d)'
【讨论】:
以上是关于Android ADB 命令获取设备属性的主要内容,如果未能解决你的问题,请参考以下文章