- add sources.
[platform/framework/web/crosswalk.git] / src / build / android / avd.py
1 #!/usr/bin/env python
2 # Copyright (c) 2013 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.
5
6 """Launches Android Virtual Devices with a set configuration for testing Chrome.
7
8 The script will launch a specified number of Android Virtual Devices (AVD's).
9 """
10
11
12 import install_emulator_deps
13 import logging
14 import optparse
15 import os
16 import subprocess
17 import sys
18
19 from pylib import constants
20 from pylib.utils import emulator
21
22
23 def main(argv):
24   # ANDROID_SDK_ROOT needs to be set to the location of the SDK used to launch
25   # the emulator to find the system images upon launch.
26   emulator_sdk = os.path.join(constants.EMULATOR_SDK_ROOT, 'sdk')
27   os.environ['ANDROID_SDK_ROOT'] = emulator_sdk
28
29   opt_parser = optparse.OptionParser(description='AVD script.')
30   opt_parser.add_option('-n', '--num', dest='emulator_count',
31                         help='Number of emulators to launch (default is 1).',
32                         type='int', default='1')
33   opt_parser.add_option('--abi', default='x86',
34                         help='Platform of emulators to launch (x86 default).')
35
36   options, _ = opt_parser.parse_args(argv[1:])
37
38   logging.basicConfig(level=logging.INFO,
39                       format='# %(asctime)-15s: %(message)s')
40   logging.root.setLevel(logging.INFO)
41
42   # Check if KVM is enabled for x86 AVD's and check for x86 system images.
43   if options.abi =='x86':
44     if not install_emulator_deps.CheckKVM():
45       logging.critical('ERROR: KVM must be enabled in BIOS, and installed. '
46                        'Enable KVM in BIOS and run install_emulator_deps.py')
47       return 1
48     elif not install_emulator_deps.CheckX86Image():
49       logging.critical('ERROR: System image for x86 AVD not installed. Run '
50                        'install_emulator_deps.py')
51       return 1
52
53   if not install_emulator_deps.CheckSDK():
54     logging.critical('ERROR: Emulator SDK not installed. Run '
55                      'install_emulator_deps.py.')
56     return 1
57
58   emulator.LaunchEmulators(options.emulator_count, options.abi, True)
59
60
61 if __name__ == '__main__':
62   sys.exit(main(sys.argv))