技術メモ

後で同じ状況が起こった時に思い出せるように技術的なちょっとしたことをメモする。ベストな解ではない。



WSLでadbを使う (Windows10)


WindowsのcmdやPowerShellよりもbashなどの方が慣れていて、adb logcatの結果をgrepしたりしたい時があり、
WSLのbash(Ubuntu)上でsudo apt install adbでインストールできたadbコマンドで操作しようとしたが、
USBで接続したAndroid端末が認識されなかった。





 
以下の方法で、WSLのbash上で、Windowsホストに接続されたAndroid端末をadbコマンドで操作できた。

※これは執筆時点(2020/2)の情報です。お使いの端末やソフトウェアのバージョンや環境によっては使えない場合があります。ご了承ください。

前提

ホストのWindows10上でadbコマンドが叩ける状態になっている(USBドライバがインストール済み)
WSL上にadbがインストールされていない状態(既にインストールされている場合は削除する)





 

手順

Windows10ホスト側とWSL側両方に同じadbをインストールする。
具体的には、以下から、同じバージョンのWindows用とLinux用の「SDK Platform tools」をダウンロードしてWindowsホストとWSL上にインストールする。
https://developer.android.com/studio/releases/platform-tools

(SDK Platform toolsがうまくダウンロードできない場合はこちらを参照)





 

導入が終わったら、以下の手順でWSL上でWidowsに接続された端末にadbコマンドが通るようになる。
1. Android端末をWindowsホストにUSB接続する。
2. Windowsホスト上のcmdでadb rootなどのコマンドを実行してadb serverを立ち上げる。
3. WSLのbashでadbコマンドを叩ける状態になる。

導入後にWindowsサイドから先にadb serverを立ち上げないとWSL上で端末が認識されないので注意。





 
追記: 試していないがどうやらWindows上のadb.exeをWSLのbashから直接叩いてもいけるらしい。aliasとかつけて使うと楽になるかも。



タグ: , ,
投稿日: 2020年2月23日
最終更新日:





コメントを残す

回答をお約束することは出来ませんので予めご了承ください。
コメントは承認されると表示されるようになります。
コメントを送信する前に「私はロボットではありません」にチェックを入れて下さい。