【问题标题】:Android ADB commands to get the device propertiesAndroid ADB 命令获取设备属性
【发布时间】:2014-02-01 16:07:23
【问题描述】:

我正在尝试从 ADB 命令中获取设备属性。我可以通过运行示例 android 应用程序来获得这些值。我多么希望使用 adb shell 命令本身来让我的生活更轻松。这是我将通过示例应用程序的方式,但我想要相应的 adb 命令用于

  1. 设备制造商
  2. 设备硬件
  3. 设备型号
  4. 操作系统版本(整数值)
  5. 内核版本

* 请注意,我的设备没有植根,我不知道植根设备以获得这些值 :-) *

## 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

【问题讨论】:

  • 示例输出在这里也很有用。

标签: android shell adb


【解决方案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.knoxvpn.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

    我在下面添加了一些示例:

    1. 语言 - adb shell getprop | grep language

      [persist.sys.language]: [zh]

      [ro.product.locale.language]: [en]

    2. 启动完成(重置后设备就绪)-adb shell getprop | grep boot_completed

      [sys.boot_completed]:[1]

    3. 设备型号 - adb shell getprop | grep model

      [ro.product.model]:[Nexus 4]

    4. sdk 版本 - adb shell getprop | grep sdk

      [ro.build.version.sdk]:[22]

    5. 时区 - adb shell getprop | grep timezone

      [persist.sys.timezone]:[亚洲/中国]

    6. 序列号 - 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)'
      

      【讨论】:

        猜你喜欢
        • 2011-11-23
        • 2017-09-18
        • 2021-04-26
        • 2013-02-06
        • 1970-01-01
        • 2011-07-27
        • 2012-07-11
        • 1970-01-01
        相关资源
        最近更新 更多