Initial sketch of install command and what devices look like.
diff --git a/packages/flutter_tools/lib/src/install.dart b/packages/flutter_tools/lib/src/install.dart
new file mode 100644
index 0000000..1a89dee
--- /dev/null
+++ b/packages/flutter_tools/lib/src/install.dart
@@ -0,0 +1,46 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+library sky_tools.install;
+
+import 'dart:async';
+
+import 'package:args/args.dart';
+
+import 'common.dart';
+import 'device.dart';
+
+class InstallCommandHandler extends CommandHandler {
+  InstallCommandHandler()
+      : super('install', 'Install your Sky app on attached devices.');
+
+  @override
+  ArgParser get parser {
+    ArgParser parser = new ArgParser();
+    parser.addFlag('help',
+        abbr: 'h', negatable: false, help: 'Display this help message.');
+    return parser;
+  }
+
+  @override
+  Future<int> processArgResults(ArgResults results) async {
+    if (results['help']) {
+      printUsage();
+      return 0;
+    }
+
+    bool installedSomewhere = false;
+
+    AndroidDevice android = new AndroidDevice();
+    if (android.isConnected()) {
+      installedSomewhere = installedSomewhere || android.installApp('');
+    }
+
+    if (installedSomewhere) {
+      return 0;
+    } else {
+      return 2;
+    }
+  }
+}