回答:
adb shell dumpsys package my.package | grep versionName
@davidと@Jeremy Fishmanが述べたように。これは以下よりもはるかに高速です。
adb shell dumpsys | grep -A18 "Package \[my.package\]"
adb shell dumpsys package my.package
大幅に高速化できます
dumpsys package my.package | grep versionName
完璧に機能する
adb shell dumpsys package com.google.android.apps.photos | grep versionName
、Hidden system packages:
セクションなどが原因で複数の結果が返される場合があります。多分head -n1
それが解決するでしょう...
誰かが目的を比較するためにすべてのアプリのバージョンを必要とする場合、ここに私のワンライナーがあります:
for p in `adb shell pm list package | awk -F"package:" '{print $2}'`; do echo -n "$p: "; adb shell dumpsys package $p | grep -i versionName | awk -F"=" '{print $2}'; done
多分それは誰かのために役立つでしょうが、私はversionNameを使用し、versionCodeを無視しているので注意して使用してください。
すべてのパッケージバージョンを取得する場合は、次のawkスクリプトを試してください。
adb shell dumpsys package | awk '/^[ ]*Package \[.*\] (.*)/ { i = index($0, "[") + 1; pkg = substr($0, i, index($0, "]") - i); } /[ ]*versionName=/ { { print pkg "\t" substr($0, index($0, "=") + 1); pkg = ""; } }'