ADB: Android Debug Bridgeの基本とよく使うコマンド

著者: IT Sectr 公開日: 2026-02-12 読了時間: 10 分

ADB(Android Debug Bridge)は、Android SDKに含まれる多機能なコマンドラインユーティリティです。USBケーブルまたはWi-Fiを介して、コンピューターがAndroidデバイスと直接通信できるようにします。ADBを使用すると、アプリケーションのインストールとアンインストール、ファイルのコピー、シェルコマンドの実行、システムログの表示、スクリーンショットや画面録画の取得、設定の管理、さらには自動テストの実行まで行えます。このツールは、デバイスを完全に制御したい開発者、テスター、愛好家にとって不可欠です。

重要なポイント

  • ADB — Androidデバッグ用のコマンドラインツール、SDKプラットフォームツールの一部
  • 接続 — USBとWi-Fiで動作(adb tcpip / adb connect)
  • 基本コマンド — adb devices、adb shell、adb install、adb uninstall、adb pull / push
  • ログ操作 — タグと重要度レベルでフィルタリング可能なadb logcat
  • スクリーンショットと録画 — adb shell screencapとadb shell screenrecord
  • 複数デバイス — adb -s で特定のデバイスを指定
  • 自動化 — タップ、スワイプ、テキスト入力をエミュレートするadb shell input

ADBとは何か、なぜ必要なのか

Android Debug Bridge(ADB)は、クライアント(コンピューター上で実行)、サーバー(コンピューター上のバックグラウンドプロセス)、デーモンadbd(Androidデバイス上で実行)の3つのコンポーネントからなるクライアントサーバーアプリケーションです。開発者やエンジニアがスマートフォンをPCに接続すると、ADBはコマンド、ファイル、データを送信できる信頼性の高い通信チャンネルを作成します。

ADBの主な使用例には、APKをストアに公開せずに実機でアプリケーションをデバッグする、エラー解析のためのログ抽出、テスト自動化、データバックアップ、リカバリイメージのフラッシュ、ルートアクセスの取得が含まれます。コードを書かない場合でも、ADBはアプリケーションからのスクリーンショット抽出、電話画面のビデオガイド録画、ファームウェア更新失敗後のデバイス復旧に役立ちます。

ADBサポートはAndroid 2.1(API 7)以降のすべての公式Androidビルドに組み込まれています。開発者オプションでUSBデバッグを有効にする必要があります。Android 4.2以降、初回接続時にデバイスは確認を求めます:RSAキーによって特定のコンピューターのデバッグを許可する必要があります。

コンピューターへのADBのインストール

Windowsの場合 — Google Developersの公式サイトからPlatform Toolsをダウンロードし、アーカイブをC:\adbフォルダに解凍して、このパスをPATH環境変数に追加します。ターミナルを再起動すると、adbコマンドがグローバルに使用可能になります。

macOSの場合 — 最も簡単な方法は、HomebrewパッケージマネージャーでADBをインストールすることです:brew install android-platform-toolsを実行します。すべての依存関係は自動的に解決されます。

Linuxの場合 — Debian / Ubuntuベースのディストリビューション:sudo apt install adb。インストール後、ユーザーをplugdevグループに追加します:sudo usermod -aG plugdev $USER。ADBがUSBデバイスにアクセスできるように再ログインします。

adb versionコマンドでインストールを確認します。出力にAndroid Debug Bridgeのバージョン番号が表示されれば、ツールは使用可能です。

デバイスの接続と基本コマンド

初回接続は常にadb devicesコマンドから始まります。接続されたデバイスとそのステータスのリストが表示されます。デバイスがunauthorizedと表示される場合は、画面のロックを解除して電話でデバッグを確認してください。

adb devices
List of devices attached
emulator-5554   device
0123456789ABCD  device

アプリケーションのインストール — 最も頻繁な操作の一つです。APKファイルへのパスを指定するだけです:

adb install C:\apps\myapp.apk

アプリが既にインストールされていて更新版に置き換える必要がある場合は、-r(replace)フラグを追加します:

adb install -r C:\apps\myapp-v2.apk

アプリケーションのアンインストールはパッケージ名で行います:

adb uninstall com.example.myapp

ファイルのコピー — adb pullはデバイスからコンピューターにファイルを取得し、adb pushはデバイスにファイルをアップロードします:

adb pull /sdcard/DCIM/screenshot.png .
adb push myfile.txt /sdcard/Documents/

インタラクティブシェル — adb shellコマンドはデバイスのコマンドシェルを開きます。その中で標準的なLinuxコマンド(ls、ps、top、dumpsys、pm、amなど)を実行できます。

adb shell
tissot_sprout:/ $ ls -la /sdcard/
tissot_sprout:/ $ ps | grep com.android.chrome

アクティビティの起動 — ADBを介して、アイコンを手動で探さずに任意のアプリや画面を開くことができます:

adb shell am start -n com.android.chrome/com.google.android.apps.chrome.Main

ログ操作:Logcat

LogcatはAndroidのログシステムで、アプリケーション、システムサービス、カーネルからのメッセージを収集します。デバッグに不可欠なツールです:ログから、アプリがクラッシュした理由、例外を引き起こしたメソッド、特定の操作にかかる時間を把握できます。

フィルターなしの単純な起動 — adb logcat。ログストリームは無限です。停止するにはCtrl+Cを押します。タグでメッセージをフィルターするには、-sパラメーターを使用します:

adb logcat -s MainActivity:V

ログの重要度レベル(詳細から重大順):V(Verbose)、D(Debug)、I(Info)、W(Warning)、E(Error)、F(Fatal)。タグとレベルの組み合わせにより、必要なメッセージのみを強調表示できます。

テスト前に蓄積されたバッファをクリアするには:

adb logcat -c

ログをファイルに保存するには:

adb logcat -d > app_logs.txt

-d(dump)フラグは現在のバッファを出力し、ターミナルをブロックせずに終了します。自動化スクリプトに便利です。

スクリーンショット、画面録画、便利な診断コマンド

スクリーンショットはadb shell screencapコマンドで撮影します。結果はファイルに保存され、後でadb pullで取得します:

adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png

置換とパイプを使用して、両方の操作を一行に結合できます。実際には、これによりドキュメント作成やテストレポート作成が高速化します。

画面録画はAndroid 4.4+(API 19)で利用可能です。デフォルトの録画時間は180秒、ビットレートは4 Mbpsです。メインコマンド:

adb shell screenrecord /sdcard/demo.mp4

録画を停止するにはCtrl+Cを押します。ビデオ解像度はデバイスの画面解像度に一致しますが、1080pを超えません。ビットレートを変更するには--bit-rateを指定します:

adb shell screenrecord --bit-rate 8000000 /sdcard/demo.mp4

診断コマンド: adb shell dumpsysはすべてのシステムサービスの状態を出力します。バッテリー情報のみを取得するには:

adb shell dumpsys battery

インストール済みパッケージのリストはPackage Managerで取得できます:

adb shell pm list packages

アプリ設定のリセット(設定でのデータ消去に相当):

adb shell pm clear com.example.myapp

ADBの高度な機能

Wi-Fiデバッグは、デバイスをUSBに接続したままにする必要をなくします。コンピューターとデバイスが同じネットワーク上にあることを確認します。最初にadb tcpip 5555を実行し、USBを外してからIP経由で接続します:

adb tcpip 5555
adb connect 192.168.1.100:5555

デバイスのIPアドレスが不明な場合は、ケーブルを外す前にadb shell ip addr show wlan0で確認します。

データバックアップはアプリケーションまたはシステム全体をrootなしで実行できます:

adb backup -apk -shared -all -system -f mybackup.ab

バックアップからの復元:

adb restore mybackup.ab

入力エミュレーション — adb shell inputコマンドは、タップ、スワイプ、キー押下、テキスト入力をシミュレートできます。これは追加のフレームワークなしでのUIテスト自動化の基盤です:

adb shell input tap 500 1000
adb shell input swipe 300 500 800 500
adb shell input text "Hello, ADB!"

異なるモードでの再起動:

adb reboot          # normal reboot
adb reboot recovery # recovery mode
adb reboot bootloader # bootloader (fastboot)

fastbootモードは、イメージのフラッシュ、ブートローダーのロック解除、カスタムリカバリのインストールへのアクセスを提供します。

複数デバイスの操作

複数のデバイスまたはエミュレーターが同時に接続されている場合、ADBは特定のシリアル番号を必要とします。adb devicesコマンドは、シリアル番号とともにすべての接続デバイスを一覧表示します。

特定のデバイスにコマンドを送るには、-sフラグを使用します:

adb -s 0123456789ABCD install myapp.apk

デバイスが1台だけの場合はフラグを省略できます。ただし、複数のエミュレーターが同時に実行されるCI環境では、シリアル番号の指定が必須です。

ADBサーバーの強制終了 — デバイスが認識されなくなったりエラーが発生したりした場合、サーバーの再起動が役立ちます:

adb kill-server
adb start-server

その後adb devicesを実行します — サーバーが再起動し、デバイスデーモンにリクエストをリダイレクトします。

主要なADBコマンド:参照表

コマンド 説明
adb devices 接続されたデバイスの一覧を表示
adb install デバイスにAPKファイルをインストール
adb uninstall パッケージ名でアプリケーションをアンインストール
adb shell インタラクティブなコマンドシェルを開く
adb push ファイルをコンピューターからデバイスにコピー
adb pull ファイルをデバイスからコンピューターにコピー
adb logcat システムとアプリのログを表示
adb shell screencap スクリーンショットを撮る
adb shell screenrecord 画面のビデオを録画
adb reboot デバイスを再起動
adb tcpip 5555 Wi-Fi用にADBをTCP/IPモードに切り替え
adb connect :5555 Wi-Fi経由でデバイスに接続

よくある質問

開発者オプションメニューが非表示の場合、USBデバッグを有効にするには?

設定 → 端末情報を開き、ビルド番号を7回タップします。メインの設定メニューに戻ると、開発者オプションセクションが表示されます。その中でUSBデバッグを有効にします。Android 4.2以降、初めてコンピューターに接続する際は、デバイス画面でRSAデバッグキーを確認する必要があります。

adb devicesコマンドがunauthorizedステータスを表示するのはなぜ?

デバイスがコンピューターを信頼していません。電話画面のロックを解除し、USBデバッグを許可ダイアログが表示されたら、このコンピューターを常に許可するにチェックを入れてOKをタップします。ダイアログが表示されない場合は、USBケーブルを抜き差しするか、adb kill-server && adb start-serverを実行します。

画面のない(ディスプレイ破損)デバイスにAPKをインストールするには?

ADBは画面操作を必要としません。USBでデバイスを接続し、adb devicesに表示されるのを待って(デバッグが既に有効になっている場合)、adb install を実行します。アプリを起動するにはadb shell am start -n <パッケージ>/<アクティビティ>を使用します。事前にデバッグが有効になっていなかった場合、画面なしでのアクセス復旧はかなり困難です — カスタムリカバリが必要になります。

adb installとGoogle Playからのインストールの違いは?

ADBはAPKを直接インストールし、インストール中のGoogle Play Protectチェックをバイパスするため、公開前にアプリをテストできます。ただし、インストール後も最終的なマルウェアチェックは実行されます。ADBはGoogleアカウントを必要としないため、法人キオスクやGoogleサービスがないデバイスで重要です。

デバイスでルートアクセスなしでADBを使用できますか?

はい、大多数のADBコマンドはルートなしで動作します。例外は、保護されたシステムパーティションへのアクセスが必要なコマンドです(例:ブートパーティションの直接ダンプやシステムファイルの変更)。日常的なタスク — アプリのインストール、ログ取得、スクリーンショット、バックアップ、入力エミュレーション — にはルートは必要ありません。

まとめ

ADB(Android Debug Bridge)は、プロフェッショナルレベルでAndroidを扱うすべての人にとって基本的なツールです。基本的なアプリインストールから複雑なテスト自動化やデバイス復旧まで、ADBはコンピューターとスマートフォンまたはタブレットの相互作用のほぼすべてのシナリオをカバーします。

この記事で説明したコマンドを習得すれば、ターミナルを通じてAndroidデバイスを自信を持って管理し、ログを分析し、ドキュメント用のスクリーンショットを撮り、バックアップを実行し、開発プロセスを加速できるようになります。定期的な練習とadb helpの出力の学習により、この強力なツールの経験豊富なユーザーになれるでしょう。

まとめ

  • ADB — Androidデバッグ用のコマンドラインツール、Platform Tools Android SDKの一部
  • 接続 — USBとWi-Fiでadb tcpipとadb connectコマンドを使用して動作
  • 基本コマンド — adb devices、adb shell、adb install、adb uninstall、adb pull / adb push
  • Logcat — タグと重要度レベルV/D/I/W/E/Fでフィルタリング可能なAndroidログシステム
  • スクリーンショットと録画 — 画面の画像とビデオを作成するadb shell screencapとadb shell screenrecord
  • 高度な機能 — Wi-Fiデバッグ、データバックアップ、入力エミュレーション、fastbootとrecoveryへの再起動
  • 複数デバイス — 並列接続時に特定のデバイスを選択する-sフラグ

ターンキー方式のモバイルアプリケーションを開発します

IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。

プロジェクトについて相談

こちらもお読みください