diff --git a/cmds/am/src/com/android/commands/am/Am.java b/cmds/am/src/com/android/commands/am/Am.java index 4e46aa3f42d56..9564dde7fe06d 100644 --- a/cmds/am/src/com/android/commands/am/Am.java +++ b/cmds/am/src/com/android/commands/am/Am.java @@ -41,6 +41,10 @@ public class Am extends BaseCommand { private IActivityManager mAm; private IPackageManager mPm; + Am() { + svcInit(); + } + /** * Command-line entry point. * @@ -50,6 +54,20 @@ public class Am extends BaseCommand { (new Am()).run(args); } + private void svcInit() { + mAm = ActivityManager.getService(); + if (mAm == null) { + System.err.println(NO_SYSTEM_ERROR_CODE); + return; + } + + mPm = IPackageManager.Stub.asInterface(ServiceManager.getService("package")); + if (mPm == null) { + System.err.println(NO_SYSTEM_ERROR_CODE); + return; + } + } + @Override public void onShowUsage(PrintStream out) { try { @@ -61,19 +79,6 @@ public class Am extends BaseCommand { @Override public void onRun() throws Exception { - - mAm = ActivityManager.getService(); - if (mAm == null) { - System.err.println(NO_SYSTEM_ERROR_CODE); - throw new AndroidException("Can't connect to activity manager; is the system running?"); - } - - mPm = IPackageManager.Stub.asInterface(ServiceManager.getService("package")); - if (mPm == null) { - System.err.println(NO_SYSTEM_ERROR_CODE); - throw new AndroidException("Can't connect to package manager; is the system running?"); - } - String op = nextArgRequired(); if (op.equals("instrument")) {