Adakah cara mudah untuk mendapatkan nama versi aplikasi di perangkat Android menggunakan adb shell?
Saya menemukan nomor versi aplikasi (bukan nama versi) di /data/system/packages.xml.
Alangkah baiknya jika ada file yang berisi Info Aplikasi.
Jawaban:
adb shell dumpsys package my.package
bisa jauh lebih cepat
dumpsys package my.package | grep versionName
bekerja dengan sempurna
adb shell dumpsys package com.google.android.apps.photos | grep versionName
karena Hidden system packages:
bagian tersebut. Mungkin head -n1
akan menyelesaikannya ...
Paket Dumpsys adalah teman Anda
~/# adb shell
shell@mo:/ dumpsys package tld.comp.app_name | grep version
Akan kembali
versionCode=X targetSdk=YY
versionName=Z.Z
Jika seseorang membutuhkan semua versi aplikasi untuk membandingkan tujuan maka inilah satu perjalanan saya:
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
Mungkin ini akan membantu seseorang tetapi harap dicatat bahwa saya menggunakan versionName dan mengabaikan versionCode, jadi gunakan dengan hati-hati.
Jika Anda ingin mendapatkan semua versi paket, coba skrip awk ini:
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 = ""; } }'