ADB とは? Android Debug Bridge をわかりやすく解説
ADB(Android Debug Bridge)は、パソコンと Android 端末をつなぐツールです。3 つの構成要素、接続が許可される仕組み、USB と Wi-Fi の違い、fastboot との違いをわかりやすく解説します。
ADB は Android Debug Bridge の略で、パソコンから Android のスマホ、タブレット、テレビと通信するためのツールです。ADB を使うと、アプリのインストール、ログの確認、ファイルのコピー、シェルコマンドの実行、画面の操作をすべてパソコンから行えます。Google が Android SDK に同梱しており、Android Studio で実行ボタンを押すたびに裏で使われているのもこのツールです。
3 つの部分からなる「橋」
ADB は 1 つのコマンドに見えますが、実際には 3 つのプログラムが連携して動いています。
| 部分 | 動く場所 | 役割 |
|---|---|---|
| クライアント | パソコン | 入力する adb コマンドです。リクエストをサーバーに送ります。 |
| サーバー | パソコン(バックグラウンド) | 接続中のデバイスを管理し、クライアントとデバイスの間でメッセージを中継します。ポート 5037 で待ち受けます。 |
デーモン(adbd) | Android 端末 | コマンドを受け取り、端末上で実行します。 |
最初に adb コマンドを入力したとき、サーバーが動いていなければクライアントがサーバーを起動します。サーバーは USB とネットワーク上のデバイスを探します。adb shell ls を実行すると、クライアントがサーバーにリクエストを渡し、サーバーがそれを端末の adbd に転送し、出力が同じ経路で戻ってきます。
そのため、ADB サーバーを動かすプログラムは一度に 1 つにすべきです。Android Studio、scrcpy、ターミナルがそれぞれ USB 接続を取ろうとすると取り合いになり、「device busy」などのエラーが出ます。たいていは adb kill-server を実行するか、ほかのツールを閉じれば直ります。詳しくは デバイスが busy / unauthorized になるときの対処法 をご覧ください。
端末がパソコンを受け入れる仕組み
ADB はできることが多いため、Android はどのパソコンにも使わせるわけではありません。
- USB デバッグがオンになっている必要があります。 USB デバッグは開発者向けオプションの中にあり、開発者向けオプションはビルド番号を 7 回タップするまで隠れています。USB デバッグを有効にする方法 をご覧ください。
- 端末がパソコンを許可する必要があります。 パソコンはそれぞれ独自の RSA 鍵を持っています。初めて接続したとき、スマホにはその鍵のフィンガープリントとともに「USB デバッグを許可しますか?」が表示されます。許可をタップするまで端末は
unauthorizedと表示され、何も使えません。
この許可は、開発者向けオプションの USB デバッグ承認の取り消し でいつでも取り消せます。
USB と Wi-Fi
ADB は 2 種類の接続で使えます。
- USB ケーブル: 標準の方法です。高速で安定しており、設定もいちばん簡単です。
- ネットワーク: 従来の
adb tcpip(スマホをポート 5555 に切り替えるために一度だけケーブルが必要)か、Android 11 以降の ワイヤレス デバッグ(コードでペア設定し、ケーブルは一切不要)を使います。違いは adb tcpip とワイヤレス デバッグの違い で解説しています。
ほとんどのテレビは USB でパソコンにつなげないため、ネットワーク ADB が唯一の選択肢です。ADB で Android TV を操作する方法 をご覧ください。
ADB と fastboot の違い
どちらも同じ Android SDK Platform-Tools に入っているため、よく混同されます。
| ADB | fastboot | |
|---|---|---|
| 使えるとき | Android(またはリカバリー)が動いているとき | Android が起動する前の、ブートローダー / fastboot モードのとき |
| 用途 | アプリ、ログ、ファイル、シェル、画面 | パーティションへの書き込み、ブートローダーのアンロック |
| 端末側 | adbd | ブートローダー |
両者をつなぐのが adb reboot bootloader です。動作中のスマホを fastboot モードにします。そこから何ができるかは fastboot モードの解説 をご覧ください。
ADB を手に入れる方法
主な方法は 2 つです。
- Android SDK Platform-Tools: Google が Windows、macOS、Linux 向けに無料で配布しています。解凍してフォルダを PATH に追加すれば、ターミナルで
adbを使えます。 - ブラウザで: Chrome と Edge は WebUSB で USB デバイスと通信できるため、Web ページが ADB プロトコルを直接話せます。ADBKit はこの仕組みで動いており、USB なら何もインストールする必要がありません。技術的な仕組みは WebADB と WebUSB とは で解説しています。
ADB は安全?
ADB はデバッグ用のツールなので、許可したパソコンに深いアクセス権を与えます。アプリのインストール、アプリのログの読み取り、共有ストレージからのファイルのコピーが可能です。自分のパソコンで、何を実行しているか分かっていれば安全です。次の習慣を守りましょう。
- 信頼できるパソコンにだけ許可をタップする。
- 必要なくなったら USB デバッグをオフにする。特に毎日持ち歩くスマホでは大切です。
- 公共の Wi-Fi や共用の Wi-Fi でネットワーク ADB をオンのままにしない。
次のステップ
- ADB で何ができるか(実例付き)
- ADB コマンド早見表
- USB デバッグを有効にして 最初の端末を接続する