diff options
author | Yongqin Liu <yongqin.liu@linaro.org> | 2012-01-12 14:55:45 +0800 |
---|---|---|
committer | Yongqin Liu <yongqin.liu@linaro.org> | 2012-01-12 14:55:45 +0800 |
commit | dc70535d9ac2e310ab4fbc6720c2f125ea87396c (patch) | |
tree | a2a0887bfe0d9c6c443200c3da01166171e13c6c | |
parent | a95af93f66c27117d9f5c48cee19abf9e1fbb788 (diff) | |
download | base-dc70535d9ac2e310ab4fbc6720c2f125ea87396c.tar.gz |
Pm.java: add function to get verison with package
add -v option to [list packages] subcommand to get the version information
of each listed packages. the BP is:
https://blueprints.launchpad.net/linaro-android/+spec/linaro-android-commit-test-tools-source
Change-Id: I994b86a67a736af8af2a6b3498432e0ba65663e5
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
-rw-r--r-- | cmds/pm/src/com/android/commands/pm/Pm.java | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/cmds/pm/src/com/android/commands/pm/Pm.java b/cmds/pm/src/com/android/commands/pm/Pm.java index 0ec007cf9daa..eada480f33df 100644 --- a/cmds/pm/src/com/android/commands/pm/Pm.java +++ b/cmds/pm/src/com/android/commands/pm/Pm.java @@ -212,6 +212,7 @@ public final class Pm { int getFlags = 0; boolean listDisabled = false, listEnabled = false; boolean listSystem = false, listThirdParty = false; + boolean listVersion = false; try { String opt; while ((opt=nextOption()) != null) { @@ -231,6 +232,8 @@ public final class Pm { listThirdParty = true; } else if (opt.equals("-u")) { getFlags |= PackageManager.GET_UNINSTALLED_PACKAGES; + } else if (opt.equals("-v")) { + listVersion = true; } else { System.err.println("Error: Unknown option: " + opt); showUsage(); @@ -265,7 +268,22 @@ public final class Pm { System.out.print(info.applicationInfo.sourceDir); System.out.print("="); } - System.out.println(info.packageName); + if (listVersion) { + String version = ""; + if (info.versionName != null) { + version = + String.format("%s (#%d)", + info.versionName, + info.versionCode); + } else { + version = String.format("(#%d)", info.versionCode); + } + System.out.println(String.format("%s:%s", + info.packageName, + version)); + }else{ + System.out.println(info.packageName); + } } } } catch (RemoteException e) { @@ -1109,7 +1127,7 @@ public final class Pm { } private static void showUsage() { - System.err.println("usage: pm list packages [-f] [-d] [-e] [-s] [-e] [-u] [FILTER]"); + System.err.println("usage: pm list packages [-f] [-d] [-e] [-s] [-e] [-u] [-v] [FILTER]"); System.err.println(" pm list permission-groups"); System.err.println(" pm list permissions [-g] [-f] [-d] [-u] [GROUP]"); System.err.println(" pm list instrumentation [-f] [TARGET-PACKAGE]"); @@ -1135,6 +1153,7 @@ public final class Pm { System.err.println(" -s: filter to only show system packages."); System.err.println(" -3: filter to only show third party packages."); System.err.println(" -u: also include uninstalled packages."); + System.err.println(" -v: show packages version after the package name."); System.err.println(""); System.err.println("pm list permission-groups: prints all known permission groups."); System.err.println(""); |