Index: build/android/emulator.py |
diff --git a/build/android/emulator.py b/build/android/emulator.py |
index 8e7031c3e5b89618218c80639e4ca3fb5d81f44b..6aeb3fca3b9cbd138ce532004cdd20f84df1eaf3 100755 |
--- a/build/android/emulator.py |
+++ b/build/android/emulator.py |
@@ -18,6 +18,11 @@ import sys |
import android_commands |
+# adb_interface.py is under ../../third_party/android/testrunner/ |
+sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)), '..', |
+ '..', 'third_party', 'android', 'testrunner')) |
+import adb_interface |
+ |
def _GetAvailablePort(): |
"""Returns an available TCP port for the console.""" |
@@ -58,6 +63,15 @@ class Emulator(object): |
self.popen = None |
self.device = None |
+ def Reset(self): |
+ """Kill a running emulator. |
+ |
+ May be needed if the test scripts stopped abnormally and an |
+ emulator is left around.""" |
+ adb = adb_interface.AdbInterface() |
+ logging.info('Killing any existing emulator.') |
+ adb.SendCommand('emu kill') |
+ |
def Launch(self): |
"""Launches the emulator and waits for package manager to startup. |
@@ -65,8 +79,16 @@ class Emulator(object): |
""" |
port = _GetAvailablePort() |
self.device = "emulator-%d" % port |
- self.popen = subprocess.Popen(args=[self.emulator, '-avd', 'buildbot', |
- '-port', str(port)]) |
+ self.popen = subprocess.Popen(args=[ |
+ self.emulator, |
+ # Speed up emulator launch by 40%. Really. |
+ '-no-boot-anim', |
+ # The default /data size is 64M. |
+ # That's not enough for 4 unit test bundles and their data. |
+ '-partition-size', '256', |
+ # Use a familiar name and port. |
+ '-avd', 'buildbot', |
+ '-port', str(port)]) |
# This will not return until device's package manager starts up or an |
# exception is raised. |
android_commands.AndroidCommands(self.device, True) |