#!/usr/bin/env python # Copyright 2014 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. import argparse import logging import sys from mopy.android import AndroidShell from mopy.config import Config USAGE = ("android_mojo_shell.py [] []") def main(): logging.basicConfig() parser = argparse.ArgumentParser(usage=USAGE) debug_group = parser.add_mutually_exclusive_group() debug_group.add_argument('--debug', help='Debug build (default)', default=True, action='store_true') debug_group.add_argument('--release', help='Release build', default=False, dest='debug', action='store_false') parser.add_argument('--target-cpu', help='CPU architecture to run for.', choices=['x64', 'x86', 'arm'], default='arm') parser.add_argument('--origin', help='Origin for mojo: URLs.', default='localhost') parser.add_argument('--device', help='Serial number of the target device.') parser.add_argument("--verbose", default=False, action='store_true') runner_args, args = parser.parse_known_args() logger = logging.getLogger() logging.basicConfig(stream=sys.stdout, format="%(levelname)s:%(message)s") logger.setLevel(logging.DEBUG if runner_args.verbose else logging.WARNING) logger.debug("Initialized logging: level=%s" % logger.level) config = Config(target_os=Config.OS_ANDROID, target_cpu=runner_args.target_cpu, is_debug=runner_args.debug, apk_name="MojoRunner.apk") shell = AndroidShell(config) shell.InitShell(runner_args.origin, runner_args.device) p = shell.ShowLogs() shell.StartActivity('MojoShellActivity', args, sys.stdout, p.terminate) return 0 if __name__ == "__main__": sys.exit(main())