2012-08-13 73 views
64

是否有一種簡單的方法可以在使用adb shell的Android設備上獲取應用程序的版本名稱?使用adb獲取應用程序版本名稱

我在/data/system/packages.xml中找到了應用程序版本號(不是版本名稱)。

如果存在包含應用程序信息的文件,那將會很好。

+0

任何方法,不只是亞行http://android.stackexchange.com/questions/2016/how-can-you-tell-which-version-of-an-app-is-on-your-android-phone – 2016-04-23 12:17:11

回答

118
adb shell dumpsys package my.package | grep versionName 

通過@david@Jeremy Fishman提及。這將大大快於:

adb shell dumpsys | grep -A18 "Package \[my.package\]" 
+1

這確實顯示包信息,但由於某種原因,它缺少我試圖查看我的平板電腦(android 2.2)上的任何包的版本信息。在我的手機上所有的版本信息都在那裏(android 2.3)。 – frognosis 2012-08-13 23:08:19

+1

好,如果你堅持在adb中做,你可以這樣做:adb shell服務調用包1 s16「my.package」i32 0.版本號將在0x1F附近的某處和0x20之後的名稱字符串(應該是第3行) – arbuz 2012-08-14 10:43:06

+0

這並不理想,但它讓我得到了我需要的東西。謝謝。 – frognosis 2012-08-14 17:00:12

10

Dumpsys包是你的朋友

~/# adb shell 
[email protected]:/ dumpsys package tld.comp.app_name | grep version 


將返回

versionCode=X targetSdk=YY 
versionName=Z.Z 
0

萬一有人需要所有的應用程序版本,然後在這裏比較的目的是我的線索:

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,所以請謹慎使用。

相關問題