有一种简单的方法来获得使用亚行外壳在Android设备上的应用程序的版本名称?
我发现在/data/system/packages.xml的应用程序版本号(不是版本名称)。
如果有包含应用程序信息文件这将是很好。
有一种简单的方法来获得使用亚行外壳在Android设备上的应用程序的版本名称?
我发现在/data/system/packages.xml的应用程序版本号(不是版本名称)。
如果有包含应用程序信息文件这将是很好。
adb shell dumpsys package my.package | grep versionName
如提到@大卫和@Jeremy菲什曼 。 这将是比快得多:
adb shell dumpsys | grep -A18 "Package \[my.package\]"
Dumpsys包是你的朋友
~/# adb shell
shell@mo:/ dumpsys package tld.comp.app_name | grep version
将返回
versionCode=X targetSdk=YY
versionName=Z.Z
如果有人需要的所有应用程序版本在这里比较的目的则是我的oneliner:
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 = ""; } }'
如果你不希望在设备上安装* .apk文件,但你需要获得应用程序的版本,你可以做如下
$ANDROID_HOME/build-tools/28.0.3/aapt dump badging app/build/outputs/apk/app.app