summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYongqin Liu <yongqin.liu@linaro.org>2012-01-12 14:55:45 +0800
committerYongqin Liu <yongqin.liu@linaro.org>2012-01-12 14:55:45 +0800
commitdc70535d9ac2e310ab4fbc6720c2f125ea87396c (patch)
treea2a0887bfe0d9c6c443200c3da01166171e13c6c
parenta95af93f66c27117d9f5c48cee19abf9e1fbb788 (diff)
downloadbase-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.java23
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("");