Index: build/android/bb_run_sharded_steps.py |
diff --git a/build/android/bb_run_sharded_steps.py b/build/android/bb_run_sharded_steps.py |
index 9b768a9f7e6214934b46483b365583efadef4101..086a3a13e3154c9858ba6ff6178e72ffedf9f88d 100755 |
--- a/build/android/bb_run_sharded_steps.py |
+++ b/build/android/bb_run_sharded_steps.py |
@@ -54,6 +54,7 @@ import os |
import signal |
import shutil |
import sys |
+import time |
from pylib import android_commands |
from pylib import cmd_helper |
@@ -174,6 +175,18 @@ def _KillPendingServers(): |
os.kill(int(pid), signal.SIGQUIT) |
except Exception as e: |
logging.warning('Failed killing %s %s %s', server, pid, e) |
+ # Restart the adb server with full trace, and redirect stderr to stdout |
+ # so the extra tracing won't confuse higher up layers. |
+ os.environ['ADB_TRACE'] = 'all' |
+ cmd_helper.RunCmd(['adb', 'kill-server']) |
+ cmd_helper.RunCmd(['adb', 'start-server']) |
+ cmd_helper.RunCmd(['adb', 'root']) |
+ i = 1 |
+ while not android_commands.GetAttachedDevices(): |
+ time.sleep(i) |
+ i *= 2 |
+ if i > 10: |
+ break |
def main(argv): |