108

adbシェルを使用してAndroidデバイス上のアプリケーションのバージョン名を取得する簡単な方法はありますか?

/data/system/packages.xmlでアプリケーションのバージョン番号(バージョン名ではない)を見つけました。

アプリケーション情報を含むファイルがあればいいのにと思います。

4

5 に答える 5

227
adb shell dumpsys package my.package | grep versionName

@david@JeremyFishmanが述べたように。これは、次の場合よりもはるかに高速になります。

adb shell dumpsys | grep -A18 "Package \[my.package\]"
于 2012-08-13T22:11:55.223 に答える
25

Dumpsysパッケージはあなたの友達です

~/# adb shell
shell@mo:/ dumpsys package tld.comp.app_name | grep version


戻ります

versionCode=X targetSdk=YY
versionName=Z.Z
于 2015-02-23T08:17:17.687 に答える
11

誰かが比較の目的ですべてのアプリのバージョンを必要とする場合は、ここに私のワンライナーがあります:

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を無視することに注意してください。したがって、注意して使用してください。

于 2017-11-22T18:12:04.360 に答える
7

すべてのパッケージバージョンを取得する場合は、次の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 = ""; } }'
于 2019-05-26T12:32:13.813 に答える
2

デバイスに*.apkをインストールしたくないが、アプリのバージョンを取得する必要がある場合は、次のように実行できます

$ANDROID_HOME/build-tools/28.0.3/aapt dump badging app/build/outputs/apk/app.app
于 2019-03-05T07:47:34.523 に答える