【问题标题】:Get application version name using adb for several devices使用 adb 获取多个设备的应用程序版本名称
【发布时间】:2021-03-08 07:25:33
【问题描述】:

有没有一种简单的方法可以使用 adb shell 在 Android 设备上获取应用程序的版本名称?

我已经从here找到了这个命令:

adb shell dumpsys package my.package | grep versionName

但我不知道如何将它用于多台设备?!

【问题讨论】:

    标签: python android shell adb


    【解决方案1】:

    根据我的经验,您不能在多个设备上运行adb 命令,但如果您有多个设备,则在特定设备上运行的adb 命令如下:

    adb [-d|-e|-s <serialNumber>] <command>

    • -d 表示在连接的设备上运行(导致多于一个连接的设备出错)
    • -e 表示在模拟器上运行(导致多于一个模拟器出错)
    • -s 表示使用特定的序列号

    -s 中使用的序列号是通过adb devices 命令获得的。 此命令的示例输出是:

    List of devices attached
    cf264b8f    device
    emulator-5554   device
    

    对于没有连接的设备,仅打印第一行

    输出格式为[serialNumber] [state],即serialNumber,也就是我们常说的SN,声明如下几类:

    Offline:表示设备未连接成功或无响应。

    Device:设备已连接。注意这个状态并不表示Android系统已经完全激活并运行在设备启动过程中设备实例可以连接到adb,但是在系统启动后才可以运行。

    No device: 没有设备/模拟器连接。

    【讨论】:

    • 感谢您的回复 mohsen 但这是我发现为多个设备执行 adb 的命令:app/adb 设备的路径 | awk 'NR>1{打印 $1}' | xargs -n1 -I% adb -s % 安装 app.apk
    • awk 是一个高级文本流命令,我认为你需要一个 adb 命令来实现它:)。而这个命令实际上是在执行多个 adb 命令而不是一个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多