2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
10 from mopy
.android
import AndroidShell
11 from mopy
.config
import Config
12 from mopy
.paths
import Paths
14 USAGE
= ("android_mojo_shell.py [<shell-and-app-args>] [<mojo-app>]")
19 parser
= argparse
.ArgumentParser(usage
=USAGE
)
21 debug_group
= parser
.add_mutually_exclusive_group()
22 debug_group
.add_argument('--debug', help='Debug build (default)',
23 default
=True, action
='store_true')
24 debug_group
.add_argument('--release', help='Release build', default
=False,
25 dest
='debug', action
='store_false')
26 parser
.add_argument('--target-cpu', help='CPU architecture to run for.',
27 choices
=['x64', 'x86', 'arm'])
28 parser
.add_argument('--origin', help='Origin for mojo: URLs.')
29 parser
.add_argument('--target-device', help='Device to run on.')
30 launcher_args
, args
= parser
.parse_known_args()
32 config
= Config(target_os
=Config
.OS_ANDROID
,
33 target_cpu
=launcher_args
.target_cpu
,
34 is_debug
=launcher_args
.debug
,
35 apk_name
="MojoRunner.apk")
37 shell
= AndroidShell(paths
.target_mojo_shell_path
, paths
.build_dir
,
38 paths
.adb_path
, launcher_args
.target_device
)
40 extra_shell_args
= shell
.PrepareShellRun(launcher_args
.origin
)
41 args
.extend(extra_shell_args
)
45 shell
.StartShell(args
, sys
.stdout
, p
.terminate
)
49 if __name__
== "__main__":