| #!/usr/bin/env python3 |
| # Copyright 2020 The ChromiumOS Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Set up ADB auth with ARC. |
| |
| A test ADB key is pre-installed in ARC on CrOS test image (go/tast-adb-key). |
| This script installs the private ADB key (paired with the pre-installed key) |
| to local ADB server. |
| """ |
| |
| import os |
| from pathlib import Path |
| import subprocess |
| import sys |
| |
| THIS_FILE = Path(__file__).resolve() |
| SOURCE_ROOT = THIS_FILE.parents[2] |
| TRADEFED_PATH = SOURCE_ROOT / "src/third_party/autotest/files/server/cros/tradefed" |
| |
| def main(argv): |
| # We import tradefed_constants.py and use private ADB key in it. |
| sys.path.append(str(TRADEFED_PATH)) |
| import tradefed_constants # pylint: disable=import-error |
| |
| print("INFO: Installing private ADB key to ~/.android/arc_adbkey") |
| android_path = Path("~/.android").expanduser() |
| android_path.mkdir(exist_ok=True) |
| adbkey_path = android_path / "arc_adbkey" |
| adbkey_path.write_text(tradefed_constants.PRIVATE_KEY, encoding="utf-8") |
| |
| print("INFO: Restarting ADB server with the new key path.") |
| os.environ["ADB_VENDOR_KEYS"] = str(adbkey_path) |
| subprocess.call(["adb", "kill-server"]) |
| subprocess.call(["adb", "start-server"]) |
| |
| print("INFO: ADB set up complete. You are ready to run adb connect.") |
| |
| |
| if __name__ == "__main__": |
| sys.exit(main(sys.argv[1:])) |