Programing

adb를 사용하여 애플리케이션 버전 이름 가져 오기

lottogame 2020. 9. 11. 19:26
반응형

adb를 사용하여 애플리케이션 버전 이름 가져 오기


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

참고 URL : https://stackoverflow.com/questions/11942762/get-application-version-name-using-adb

반응형