adb shell을 사용하여 Android 기기에서 애플리케이션의 버전 이름을 얻는 쉬운 방법이 있습니까?
/data/system/packages.xml에서 애플리케이션 버전 번호 (버전 이름 아님)를 찾았습니다.
Application Info가 포함 된 파일이 있으면 좋을 것입니다.
답변
adb shell dumpsys package my.package | grep versionName
@david 및 @Jeremy Fishman이 언급했듯이 . 다음보다 훨씬 빠릅니다.
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