[Android] Add screenshot command line tool.

This modifies the no longer used monkeyrunner_screenshot.py into a
simple screenshot tool.

BUG=164644

Review URL: https://codereview.chromium.org/11470004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171615 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/build/android/screenshot.py b/build/android/screenshot.py
new file mode 100755
index 0000000..e1dfdb3
--- /dev/null
+++ b/build/android/screenshot.py
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2012 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.
+
+"""Takes and saves a screenshot from an Android device.
+
+Usage: screenshot.py [-s SERIAL] [-f FILE]
+
+Options:
+  -s SERIAL  connect to device with specified SERIAL
+  -f FILE    write screenshot to FILE (default: Screenshot.png)
+"""
+
+from optparse import OptionParser
+import os
+import sys
+
+from pylib import android_commands
+
+
+def main(argv):
+  # Parse options.
+  parser = OptionParser()
+  parser.add_option('-s', '--serial', dest='serial',
+                    help='connect to device with specified SERIAL',
+                    metavar='SERIAL', default=None)
+  parser.add_option('-f', '--file', dest='filename',
+                    help='write screenshot to FILE (default: %default)',
+                    metavar='FILE', default='Screenshot.png')
+  (options, args) = parser.parse_args(argv)
+
+  if not options.serial and len(android_commands.GetAttachedDevices()) > 1:
+    parser.error('Multiple devices are attached. '
+                 'Please specify SERIAL with -s.')
+
+  # Grab screenshot and write to disk.
+  filename = os.path.abspath(options.filename)
+  ac = android_commands.AndroidCommands(options.serial)
+  ac.TakeScreenshot(filename)
+  return 0
+
+
+if __name__ == '__main__':
+  sys.exit(main(sys.argv))