adbコマンド チートシート

接続されているデバイスの確認や、ADBサーバーの管理を行います。

目的 コマンド 説明
接続されているデバイス/エミュレータの一覧表示
adb devices
接続状態(`device`, `offline`, `unauthorized`)も表示されます。
詳細なデバイス情報表示
adb devices -l
デバイス名やトランスポートIDなどの追加情報が表示されます。
ADBサーバーの起動
adb start-server
ADBサーバーが起動していない場合に手動で起動します(通常は自動)。
ADBサーバーの停止
adb kill-server
ADBサーバーを強制終了します。接続がおかしいときに試します。
デバイスを指定してコマンド実行 (USB接続デバイスが複数ある場合)
adb -s <device_serial> <command>
``は`adb devices`で表示されるシリアル番号を指定します。例: `adb -s R5CR81XXXXX shell ls`
エミュレータを指定してコマンド実行
adb -s emulator-<port> <command>
`emulator-5554` のように指定します。ポート番号は`adb devices`で確認できます。
特定のトランスポートIDを持つデバイスを指定
adb -t <transport_id> <command>
`adb devices -l` で表示されるトランスポートIDを指定します。
USBデバイスを1つだけ指定(複数のUSBデバイス接続時)
adb -d <command>
USB接続のデバイスが1台のみの場合に、そのデバイスを対象とします。
エミュレータを1つだけ指定(複数のエミュレータ接続時)
adb -e <command>
実行中のエミュレータが1台のみの場合に、そのエミュレータを対象とします。
デバイスの接続状態を待機
adb wait-for-device
adb wait-for-usb-device
adb wait-for-local-device
指定した種類のデバイスがオンラインになるまで待機します。スクリプトで便利です。
デバイスへの再接続
adb reconnect
USBまたはTCP/IPで接続されているデバイスに再接続を試みます。
オフラインデバイスへの再接続
adb reconnect device
オフライン状態 (`offline`) になっているデバイスの接続復旧を試みます。
ADB サーバーのバージョン表示
adb version
インストールされている ADB のバージョン情報を表示します。

ファイル操作 📂

デバイスとPC間でのファイル転送や、デバイス上のファイル操作を行います。

パスにスペースが含まれる場合は、パス全体をダブルクォーテーション(`”`)で囲ってください。
目的 コマンド 説明
デバイスからPCへファイルをコピー
adb pull <device_path> [local_path]
デバイス上の``にあるファイルを、PCの`[local_path]`(省略時はカレントディレクトリ)にコピーします。例: `adb pull /sdcard/Download/myfile.txt .`
PCからデバイスへファイルをコピー
adb push <local_path> <device_path>
PCの``にあるファイルを、デバイスの``にコピーします。例: `adb push myphoto.jpg /sdcard/Pictures/`
デバイスからPCへディレクトリをコピー(再帰的)
adb pull <device_directory> [local_directory]
ディレクトリ全体をコピーします。
PCからデバイスへディレクトリをコピー(再帰的)
adb push <local_directory> <device_directory>
ディレクトリ全体をコピーします。デバイス側のディレクトリが存在しない場合は作成されます。
転送時にタイムスタンプを保持 (pull)
adb pull -a <device_path> [local_path]
ファイルの最終更新日時を保持してコピーします。
差分同期 (push)
adb push --sync <local_path> <device_path>
PC側で更新されたファイルのみをデバイスに転送します。転送時間の短縮に役立ちます。
デバイス上のファイル一覧表示
adb shell ls <directory_path>
指定したディレクトリ内のファイルやディレクトリをリスト表示します。`ls -l`で詳細表示、`ls -a`で隠しファイルも表示します。
デバイス上のファイル削除
adb shell rm <file_path>
指定したファイルを削除します。
デバイス上のディレクトリ削除 (空の場合)
adb shell rmdir <directory_path>
空のディレクトリを削除します。
デバイス上のディレクトリ削除 (中身ごと)
adb shell rm -r <directory_path>
adb shell rm -rf <directory_path>
ディレクトリとその中身を再帰的に削除します。`-f` は確認なしで強制削除します(注意して使用)。
デバイス上のファイル移動/名前変更
adb shell mv <source_path> <destination_path>
ファイルを移動、またはファイル名を変更します。
デバイス上にディレクトリ作成
adb shell mkdir <directory_path>
新しいディレクトリを作成します。
デバイス上にネストしたディレクトリ作成
adb shell mkdir -p <path/to/new/directory>
親ディレクトリが存在しない場合でも、まとめて作成します。
デバイス上のファイル内容表示
adb shell cat <file_path>
テキストファイルの内容などを標準出力に表示します。

アプリケーション管理 📱

APKファイルのインストール、アンインストール、アプリ情報の取得などを行います。

目的 コマンド 説明
APKファイルのインストール
adb install <path_to_apk>
PC上にあるAPKファイルをデバイスにインストールします。
APKファイルの上書きインストール
adb install -r <path_to_apk>
既にインストールされているアプリを、データを保持したまま上書きインストールします。
ダウングレードインストールを許可
adb install -r -d <path_to_apk>
バージョン番号が低いAPKをインストールすることを許可します。
テスト用APKのインストールを許可
adb install -t <path_to_apk>
`android:testOnly=”true”` が指定されたAPKのインストールを許可します。
付与された全権限を許可してインストール
adb install -g <path_to_apk>
マニフェストで定義されている全てのランタイム権限を許可します (Android 6.0以降)。
SDカードへのインストールを許可 (非推奨)
adb install -s <path_to_apk>
可能であれば外部ストレージ(SDカード)にインストールします。
アプリケーションのアンインストール
adb uninstall <package_name>
指定したパッケージ名のアプリをアンインストールします。例: `adb uninstall com.example.myapp`
データを保持してアンインストール
adb uninstall -k <package_name>
アプリ本体のみをアンインストールし、データとキャッシュディレクトリは保持します。
インストール済みパッケージ一覧表示
adb shell pm list packages
デバイスにインストールされている全てのアプリのパッケージ名を表示します。
システムアプリのパッケージ一覧表示
adb shell pm list packages -s
システムアプリのみを表示します。
サードパーティアプリのパッケージ一覧表示
adb shell pm list packages -3
ユーザーがインストールしたアプリのみを表示します。
無効化されたアプリのパッケージ一覧表示
adb shell pm list packages -d
無効状態になっているアプリのみを表示します。
有効なアプリのパッケージ一覧表示
adb shell pm list packages -e
有効状態になっているアプリのみを表示します。
パッケージ名でフィルタリングして表示
adb shell pm list packages <filter_string>
指定した文字列がパッケージ名に含まれるアプリのみを表示します。例: `adb shell pm list packages google`
パッケージに対応するAPKファイルのパス表示
adb shell pm path <package_name>
指定したパッケージ名のAPKファイルがデバイス上のどこにあるかを表示します。
アプリのデータとキャッシュを削除
adb shell pm clear <package_name>
指定したアプリのユーザーデータとキャッシュを全て削除します(アプリを初期状態に戻します)。
アプリの強制停止
adb shell am force-stop <package_name>
指定したパッケージ名のアプリを強制終了させます。
アプリの権限を許可する
adb shell pm grant <package_name> <permission>
指定したアプリに特定のランタイム権限を付与します。例: `adb shell pm grant com.example.myapp android.permission.CAMERA`
アプリの権限を取り消す
adb shell pm revoke <package_name> <permission>
指定したアプリから特定のランタイム権限を取り消します。
アプリを有効化/無効化する (APIレベル依存)
adb shell pm enable <package_name_or_component>
adb shell pm disable <package_name_or_component>
adb shell pm disable-user --user 0 <package_name>
アプリ全体またはコンポーネントを有効化/無効化します。システムアプリなどは `disable-user` を使うことが多いです。

デバイス操作と情報取得 ⚙️

デバイスの再起動、スクリーンショット撮影、画面録画、各種情報の取得などを行います。

目的 コマンド 説明
デバイスの再起動 (通常)
adb reboot
デバイスを通常モードで再起動します。
リカバリーモードで再起動
adb reboot recovery
デバイスをリカバリーモードで再起動します。
ブートローダーモードで再起動
adb reboot bootloader
デバイスをブートローダー(Fastbootモード)で再起動します。
システムUIを含むシステムプロセスを再起動 (Soft Reboot)
adb shell stop && adb shell start
adb shell su -c 'stop; start' # Rootが必要な場合
Android フレームワークと関連サービスを再起動します。通常の再起動より高速です。
スクリーンショット撮影 (デバイスに保存)
adb shell screencap /sdcard/screenshot.png
デバイスの画面を撮影し、指定したパスにPNGファイルとして保存します。
スクリーンショット撮影 (PCに直接保存)
adb exec-out screencap -p > screenshot.png
デバイスの画面を撮影し、PNG形式でPCの標準出力に送ります。リダイレクトでファイルに保存できます。
画面録画 (デバイスに保存)
adb shell screenrecord /sdcard/video.mp4
デバイスの画面を録画し、MP4ファイルとして保存します。Ctrl+Cで録画を停止します。デフォルトは最大3分です。
画面録画 (時間制限付き)
adb shell screenrecord --time-limit 60 /sdcard/video.mp4
録画時間を秒単位で指定します (例: 60秒)。
画面録画 (解像度指定)
adb shell screenrecord --size 1280x720 /sdcard/video.mp4
録画する動画の解像度を指定します (幅x高さ)。
画面録画 (ビットレート指定)
adb shell screenrecord --bit-rate 8000000 /sdcard/video.mp4
録画する動画のビットレートを指定します (bps)。例: 8Mbps。
デバイスのシリアル番号取得
adb get-serialno
接続されているデバイスのシリアル番号を表示します。
デバイスの状態取得
adb get-state
デバイスの状態 (`device`, `offline`, `bootloader` など) を表示します。
Android OSのバージョン取得
adb shell getprop ro.build.version.release
OSのバージョン番号 (例: 13) を表示します。
APIレベルの取得
adb shell getprop ro.build.version.sdk
Android SDKのAPIレベル (例: 33) を表示します。
デバイスのモデル名取得
adb shell getprop ro.product.model
デバイスのモデル名 (例: Pixel 7 Pro) を表示します。
画面解像度の取得
adb shell wm size
物理的な画面解像度を表示します。
画面密度の取得 (DPI)
adb shell wm density
画面の物理的な密度 (DPI) を表示します。
IPアドレスの取得
adb shell ip route
adb shell ip addr show wlan0 # Wi-Fiの場合
デバイスのIPアドレスやネットワークインターフェース情報を表示します。
デバイスの全プロパティ表示
adb shell getprop
デバイスのビルドプロパティやシステム設定などの全情報を表示します。
指定したキーイベントを送信
adb shell input keyevent <keycode>
指定したキーコードに対応するイベントをデバイスに送信します。例: `adb shell input keyevent 4` (戻るボタン)
テキスト入力を送信
adb shell input text <string>
現在フォーカスが当たっているテキストフィールドに文字列を入力します。スペースは `%s` で表現します。例: `adb shell input text ‘Hello%sWorld’`
タップイベントを送信
adb shell input tap <x> <y>
指定した座標 (x, y) をタップするイベントを送信します。
スワイプイベントを送信
adb shell input swipe <x1> <y1> <x2> <y2> [duration_ms]
開始座標 (x1, y1) から終了座標 (x2, y2) へスワイプするイベントを送信します。オプションで所要時間 (ミリ秒) を指定できます。

シェルコマンド実行 💻

デバイス上でLinuxシェルコマンドを実行します。

adb shell の後にコマンドを続けると、そのコマンドを実行して終了します。引数なしで adb shell を実行すると、対話的なシェルセッションが開始されます。
目的 コマンド 説明
対話型シェルセッションの開始
adb shell
デバイスに接続し、コマンドを対話的に入力できるようになります。`exit` で終了します。
単一のシェルコマンド実行
adb shell <command> [arguments]
デバイス上で指定したコマンドを実行し、結果をPCの標準出力に表示します。例: `adb shell ls /sdcard/`
Activity Manager (am) コマンド実行
adb shell am <sub-command>
アクティビティの起動、サービスの開始/停止、ブロードキャストの送信などを行います。例: `adb shell am start -n com.android.settings/.Settings`
Package Manager (pm) コマンド実行
adb shell pm <sub-command>
パッケージのインストール/アンインストール、権限管理、情報取得などを行います (一部は `adb install/uninstall` と同等)。
デバイス上のプロセス一覧表示
adb shell ps
adb shell ps -A # 全てのプロセスを表示
実行中のプロセスに関する情報を表示します (PID, USER, NAMEなど)。
topコマンドでリソース使用状況表示
adb shell top
adb shell top -n 1 # 1回だけ表示して終了
CPUやメモリの使用率が高いプロセスをリアルタイムで表示します。
dumpsysでシステムサービスの状態表示
adb shell dumpsys
adb shell dumpsys <service_name>
様々なシステムサービスの状態や情報をダンプします。`` を指定すると特定のサービスの情報のみ表示します。例: `adb shell dumpsys battery` (バッテリー情報)
Activity Managerの状態ダンプ
adb shell dumpsys activity
アクティビティスタック、実行中のサービス、プロセスなどの詳細情報を表示します。
Window Managerの状態ダンプ
adb shell dumpsys window
ウィンドウ階層、フォーカス、画面表示に関する情報を表示します。
メモリ情報のダンプ
adb shell dumpsys meminfo
adb shell dumpsys meminfo <package_name_or_pid>
システム全体または指定したアプリ/プロセスのメモリ使用状況を表示します。
ディスク空き容量の確認
adb shell df
adb shell df -h # 人が見やすい形式で表示
ファイルシステムのディスク使用量と空き容量を表示します。

ログキャット (Logcat) 📜

Androidシステムのログメッセージを表示・フィルタリングします。デバッグに不可欠です。

目的 コマンド 説明
ログの表示開始
adb logcat
デバイスのログをリアルタイムで表示し続けます。Ctrl+Cで停止します。
ログをファイルに出力
adb logcat > log.txt
ログをPC上のファイルに保存します。
ログバッファのクリア
adb logcat -c
デバイス上の既存のログバッファを消去します。
ログを指定した形式で表示
adb logcat -v <format>
``には `brief`, `process`, `tag`, `thread`, `raw`, `time`, `threadtime`, `long` などを指定できます。例: `adb logcat -v time` (タイムスタンプ付き)
特定のタグでフィルタリング
adb logcat <tag>:<priority> *:S
指定したタグのログを指定した優先度以上で表示し、他のタグは表示しません (`*:S` は Silent)。優先度は V, D, I, W, E, F, S の順です。例: `adb logcat MyApp:D *:S` (MyAppタグのデバッグログ以上を表示)
複数のタグでフィルタリング
adb logcat <tag1>:<p1> <tag2>:<p2> *:S
複数のフィルタ条件を指定できます。
正規表現でフィルタリング (grep)
adb logcat | grep <pattern> # Linux/macOS
adb logcat | findstr <pattern> # Windows
OSのコマンドとパイプして、ログ内容を正規表現で絞り込みます。
特定のPIDのログのみ表示
adb logcat --pid=<pid>
指定したプロセスIDのログのみを表示します。PIDは `adb shell ps` などで確認できます。
ログバッファサイズの表示
adb logcat -g
main, system, radio, events などのログバッファのサイズを表示します。
ログバッファサイズの変更 (要 Root)
adb logcat -G <size>
ログバッファのサイズを変更します。単位は K (キロバイト) または M (メガバイト)。例: `adb logcat -G 16M`
指定したバッファのみ表示
adb logcat -b <buffer>
`` には `main`, `system`, `radio`, `events`, `crash`, `all` などを指定できます。デフォルトは `main`, `system`, `crash` です。

TCP/IP接続の設定やポートフォワーディングなど、ネットワーク関連の操作を行います。

目的 コマンド 説明
Wi-Fi経由でのADB接続を有効化
adb tcpip <port>
指定したポート(通常は5555)でTCP/IP接続を待ち受けます。一度USB接続が必要です。例: `adb tcpip 5555`
IPアドレス指定でデバイスに接続
adb connect <device_ip>:<port>
指定したIPアドレスとポートでデバイスに接続します。ポートは `adb tcpip` で指定したもの(デフォルト5555)。例: `adb connect 192.168.1.100:5555`
デバイスとの接続を切断
adb disconnect
adb disconnect <device_ip>:<port>
全てのTCP/IP接続を切断、または指定した接続を切断します。
ポートフォワーディング設定 (PC → デバイス)
adb forward tcp:<pc_port> tcp:<device_port>
PCの指定ポートへのアクセスを、デバイスの指定ポートへ転送します。例: `adb forward tcp:8080 tcp:80` (PCの8080をデバイスの80へ)
ポートフォワーディング設定 (デバイス → PC) (Reverse)
adb reverse tcp:<device_port> tcp:<pc_port>
デバイスの指定ポートへのアクセスを、PCの指定ポートへ転送します。例: `adb reverse tcp:8000 tcp:3000` (デバイスの8000をPCの3000へ)
設定されているポートフォワーディング一覧表示
adb forward --list
adb reverse --list
現在設定されている forward / reverse ルールを表示します。
全てのポートフォワーディング設定削除
adb forward --remove-all
adb reverse --remove-all
設定されている全ての forward / reverse ルールを削除します。
特定のポートフォワーディング設定削除
adb forward --remove tcp:<pc_port>
adb reverse --remove tcp:<device_port>
指定したポートに対応する forward / reverse ルールを削除します。

その他の便利なコマンド ✨

バグレポート作成、 sideload など、その他の便利なADBコマンドです。

目的 コマンド 説明
バグレポートの作成 (PCにzip保存)
adb bugreport [<path_to_save_zip>]
デバイスの詳細な状態(ログ、dumpsys情報など)を含むバグレポートzipファイルを生成し、PCに保存します。パス省略時はカレントディレクトリに保存されます。
OTAアップデートファイルなどの適用 (Sideload)
adb sideload <path_to_update.zip>
リカバリーモードで起動したデバイスに対し、PCからアップデートファイルなどを転送して適用します。
root権限でコマンド実行 (要 Root化)
adb root
adb shell # (root権限のシェルになる)
adb shell su -c "<command>"
ADB接続をroot権限で再起動します。以降 `adb shell` などがrootで実行されます(対応するROM/環境が必要)。`su -c` でも一時的にrootコマンドを実行できます。
ユーザー権限に戻す
adb unroot
ADB接続を通常のユーザー権限に戻します。
読み取り専用ファイルシステムを書き込み可能で再マウント (要 Root)
adb remount
`/system` などの通常は読み取り専用のパーティションを書き込み可能にします。システムファイルの変更などに使います(注意が必要)。
ヘルプ表示
adb help
adb --help
ADBコマンドの基本的な使い方や利用可能なオプションを表示します。