ByteScope

Web ADB Toolkit

ブラウザからUSB経由でAndroidにADB接続 — 端末情報、ファイル操作、APKサイドロード、ライブlogcat、シェル。

Talks to your Android over USB locally — nothing is uploaded to any server.

Checking browser support…

このツールについて

Web ADB ToolkitはWebUSB経由でAndroidスマートフォンをブラウザにつなぎ、ADBプロトコルを直接話します。Android SDKもplatform-toolsも、インストールするadbバイナリも要りません。Webベースのscrcpyを支えるのと同じエンジンであるya-webadb(yume-chan、MIT)の上に立ち、それを計測器のようなパネルにまとめました。端末情報のフルダンプ(機種、Androidバージョン、シリアル、画面解像度、バッテリー、インストール済みパッケージ数)の取得、syncプロトコル経由でのファイル閲覧と転送、ドラッグ&ドロップでのAPKサイドロード、タグ・レベル・正規表現でフィルタしながらのlogcatのライブ表示、そして本物のターミナルでのadb shellが使えます。

USBは使える、無線は使えない:正直なところ

USB経由のADBはChromeとEdgeで問題なく動きます。無線ADBは動きませんし、それはどのWebページでも解決できません。ブラウザには生のTCPソケットがないため、Webアプリからadb connect 192.168.x.x:5555を実行することは単に不可能です(Direct Sockets APIはインストール済みのIsolated Web App専用です)。代わりに本ツールができるのは、スマートフォン側を無線モードに切り替えてあげることです。一度USBでつないで無線デバッグを有効化するボタンを押すと、端末上でadb tcpip 5555を実行します。それ以降はパソコンのadbからWi-Fi経由で接続します。このWebページは、無線接続のきっかけを作る側であって、無線クライアントそのものではありません。

Windowsではドライバの入れ替えが必要なことがあります

Windowsでは、Zadigを使ってスマートフォンのADBインターフェースのドライバをWinUSBに置き換えるまで、WebUSBがそれを掴めないことがよくあります。これがWindowsでweb ADBが失敗する最大の理由なので、本ツールはWindowsを検出し、接続に失敗した場合は手順を一つずつ案内します。macOS、Linux、ChromeOSではこの作業は要りません。手近にあるなら、つなぐだけで動きます。すべてローカルで動作します。スマートフォンはあなたのブラウザとやり取りするだけで、どのサーバーにもアップロードされません。

まずAPKアナライザーでAPKを解析し、それからここへ来て実機にインストールする。2つのツールは、調べてから流し込む、という輪をつくります。

よくある質問

ブラウザからWi-Fiや無線でADBに接続できますか?

いいえ。できると謳うWebツールには用心してください。ブラウザには生のTCPソケットがないため、Webページから`adb connect 192.168.x.x:5555`を開くことはできません。本ツールはUSB接続のみです。できるのは無線デバッグを有効にすることです。一度USBでつないでボタンを押すと、端末上で`adb tcpip 5555`が実行され、以降はパソコンの`adb`からWi-Fi経由でつなげます。

これで無線ADBを有効にする手順を教えてください。

USBでスマートフォンをつなぎ、接続して画面に出る確認を承認したら、無線デバッグを有効化するボタンを押します。本ツールが`adb tcpip 5555`を実行し、端末のADBデーモンがTCPの5555番ポートで待ち受けるようになります。設定画面で端末のIPアドレスを調べ、パソコンで`adb connect <端末のIP>:5555`を実行してください。この最後の接続だけは、ブラウザ自身では行えません。

どのブラウザで動きますか?

WebUSBがChromium系専用のAPIであるため、デスクトップのChromeとEdge(およびAndroid版のChrome 148以降)です。FirefoxとSafariはWebUSBを実装しておらず、予定も公表されていないため、ADB接続を開くことがそもそもできません。それらのブラウザでもページ自体は表示され、理由を説明しますが、ADBの機能は使えません。

Windowsでスマートフォンが検出されないのはなぜですか?

Windowsでは、スマートフォンのADBインターフェースにWinUSBドライバが必要になるのが普通で、Zadigという無料ツールで導入します。接続に失敗すると、本ツールが手順を順に表示します。Zadigを実行し、List All Devicesを有効にして、ADBインターフェースを選び、そのドライバをWinUSBに置き換えます。macOS、Linux、ChromeOSはドライバが不要で、より快適に使えます。

データやAPKがどこかにアップロードされますか?

いいえ。すべてブラウザ内で動き、USBでスマートフォンと直接やり取りします。サイドロードするAPK、転送するファイル、logcatやシェルの出力が、お使いのマシンの外へ出ることはありません。経路上にサーバーは存在しません。

スマートフォンの画面をミラーリングして操作できますか(scrcpy)?

scrcpyプロトコルとWebCodecsのH.264デコードを使う、実験的な画面ミラーリングのセクションがあります。もっとも重い機能で、ブラウザがハードウェアH.264デコードに対応しているかに左右されます。対応していない環境では、壊れる代わりにそう表示します。端末情報、ファイル、APKインストール、logcat、シェルといった中核のパネルは、これがなくても動きます。