2012-08-13 10 views
64

¿Existe alguna manera fácil de obtener el nombre de la versión de una aplicación en un dispositivo Android utilizando adb shell?Obtener el nombre de la versión de la aplicación usando adb

Encontré el número de versión de la aplicación (no el nombre de la versión) en /data/system/packages.xml.

Sería bueno si hubiera un archivo que contuviera la información de la aplicación.

+0

Cualquier método, no solo ADB http://android.stackexchange.com/questions/2016/how-can-you-tell-which-version-of-an-app-is-on-your-android-phone –

Respuesta

118
adb shell dumpsys package my.package | grep versionName 

como se ha mencionado por @david y @Jeremy Fishman. Esto será mucho más rápido que:

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

Eso me muestra la información del paquete pero por alguna razón falta la información de la versión de cualquier paquete que he intentado buscar en mi tableta (Android 2.2). En mi teléfono, toda la información de la versión está allí (Android 2.3). – frognosis

+1

bien si insiste en hacerlo en adb, puede hacer: adb shell service call package 1 s16 "my.package" i32 0. el número de versión estará en algún lugar cerca de 0x1F y el nombre de la cadena después de 0x20 (debería ser 3ra línea) – arbuz

+0

No es ideal, pero me da lo que necesito. Gracias. – frognosis

10

dumpsys es su amigo

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


Will volver

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

En caso de que alguien necesita todas las versiones de aplicaciones para la comparación de los propósitos entonces aquí es mi 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 

Tal vez sea útil para alguien, pero tenga en cuenta que utilizo versionName e ignoro versionCode, por lo tanto, utilícela con cuidado.

Cuestiones relacionadas