タケユー・ウェブ日報

Ruby on Rails や Flutter といったWeb・モバイルアプリ技術を武器にお客様のビジネス立ち上げを支援する、タケユー・ウェブ株式会社の技術ブログです。

WSL2のadbコマンドでWindowsホストのadb-serverに接続する

動機・やりたいこと

  • WSL2で開発するが、WSL2上では Android Emulatorが使用できない
  • WSL2から、Windowsホストにインストールした Android Emulator を使いたい

やったこと

手順

WindowsホストにWindows用の Android SDK / platform-tools をインストール

Android Studioをインストールするとき、Platform-Toolsもインストールされました。 後からインストールするときは SDK Managerから SDK Tools > Android SDK Platform-Tools でインストールできます。

インストール後、Windows環境変数 PATH にパスを追加しておきます。

C:\Users\ユーザー名\AppData\Local\Android\Sdk\platform-tools

developer.android.com

WSL2 (Ubuntu) にUbuntu用の Android SDK / platform-tools をインストール

ここなど

medium.com

Windowsホスト上で所定の操作を行うPowerShellスクリプトを実行

こちらの記事のとおり

ただし

  • $adbPath"C:\Users\ユーザー名\AppData\Local\Android\Sdk\platform-tools"
  • Set-NetFirewallProfile -DisabledInterfaceAliases "vEthernet (WSL)" は管理者権限が必要

medium.com

WSL2で ADB_SERVER_SOCKET 環境変数を設定して adb コマンドがWindowsホスト上の adb-server へ接続するようにする

以下を .profile に追記して source ~/.profile

export ADB_SERVER_SOCKET=tcp:$(cat /etc/resolv.conf | grep nameserver | cut -d' ' -f2):5037

adbを使う

takeyuweb@concolor:~$ adb devices
List of devices attached
emulator-5554   device # <-- Windows上で動くEmulator