adb
Android Platform Tools 34+Android Debug Bridge CLI のクイック リファレンス:デバイス検出、インストール / アンインストール、logcat、shell、push / pull、ポート フォワーディング、ワイヤレス デバッグ — よく使うオプションと実用例をまとめました。
33 コマンド
デバイス
adb devices接続されているすべてのデバイス / エミュレーターをシリアルと状態(`device`、`unauthorized`、`offline`)とともに一覧表示します。
-l 長い詳細を表示(product、model、transport); -e エミュレーターのみ; -d USB デバイスのみ
adb devices -ladb connect <ip>:<port>Wi-Fi または TCP/IP 経由でデバイスに接続します(既定ポート 5555)。Android 11+ では最初に `adb pair <ip>:<port>` でペアリングしてください。
ip:port; --one-time セッション終了時に切断
adb pair 192.168.1.42:41235 && adb connect 192.168.1.42:5555adb disconnect [<ip>:<port>]1 つまたはすべてのワイヤレス デバイスから切断します。引数を渡さないとすべての接続を切断します。
adb disconnect 192.168.1.42:5555 && adb disconnectadb -s <serial> <command>複数のデバイスが接続されている場合に特定のデバイスをターゲットにします(`<serial>` を `adb devices` の値に置き換えてください)。
adb -s emulator-5554 shell pm list packagesインストール / アンインストール
adb install <apk>APK をインストールします。`-r` はデータを保持して再インストール; `-d` はバージョン コードのダウングレードを許可; `-t` はテスト専用 APK を許可; `-g` はすべてのランタイム権限を付与。
-r; -d; -t; -g; --abi <abi>; --user <id>
adb install -r -g app-release.apkadb install-multi-package <apk1> <apk2>分割 APK バンドルをアトミックにインストールします — 複数の ABI / 構成を持つ App Bundle に使用されます。
adb install-multi-package base.apk split_config.arm64.apkadb uninstall <package>パッケージ名でアプリをアンインストールします。`-k` はデータ + キャッシュ ディレクトリを保持します。
-k ユーザー データを保持
adb uninstall com.example.myappLogcat
adb logcatデバイスのログ バッファをストリーミングします。タグ / 優先度フィルター: `*:V`(詳細)、`*:E`(エラー)。
-v threadtime; -d ダンプして終了; -s <tag>; -t <N>; --pid=<pid>; -f <file> ファイルに書き込む
adb logcat *:Eadb logcat -d現在のバッファを stdout にダンプして終了します(非ストリーミング)。一回限りの検査のために grep と組み合わせます。
-d -t 500 最後の 500 行
adb logcat -d -t 200 | grep -i 'myapp'adb logcat -s <tag>:<level>特定のレベル(V/D/I/W/E)で特定のタグのエントリのみを表示します。タグを空白で組み合わせます。
MyTag:D MyTag2:E
adb logcat -s MyApp:V ReactNative:VShell
adb shellデバイスの対話型シェルに入ります。ほとんどの Unix ユーティリティが動作します; `/sdcard` はパブリック ストレージ ルートです。
-t TTY を割り当て(対話型プログラム用)
adb shelladb shell <command>デバイス上で単一のコマンドを実行し、出力を返します。ホスト / デバイスの引数を混在させるときは慎重に引用符で囲んでください。
adb shell pm list packages | grep com.example && adb shell dumpsys batteryadb shell pm list packagesインストール済みパッケージを一覧表示します。`-f` はパスを表示、`-3` はユーザー インストール アプリにフィルター、`-d` は無効なパッケージにフィルター。
-f パス; -3 ユーザー アプリ; -d 無効; -e 有効; -s システム; <filter>
adb shell pm list packages -3 | head -30adb shell am start -n <package>/<activity>`package/activity` 修飾名でアクティビティを起動します。起動の完了を待つには `am start -W` を使用します。
-a <action>; -d ; --es <key> <val> 余分な文字列; -W 待機
adb shell am start -n com.example/.MainActivityadb shell screencap -p /sdcard/screen.pngデバイス画面を PNG としてキャプチャします。取得するには `adb pull` と組み合わせます。
-p PNG(既定)
adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png .adb shell input <source> <command>入力イベントを挿入します。一般的なもの: `tap x y`、`swipe x1 y1 x2 y2 [ms]`、`keyevent <code>`、`text "string"`。
tap; swipe; keyevent; text; roll; press
adb shell input tap 540 1200 && adb shell input keyevent 4ファイル転送
adb push <local> <remote>ローカル ファイル / ディレクトリをデバイスにコピーします。同期セマンティクス; バイナリ ファイルを保持します。
--sync 古いファイルのみ上書き; --copy-links シンボリック リンクを保持; -p 進捗を表示
adb push app-debug.apk /sdcard/Download/ && adb push ./assets /sdcard/myapp/assetsadb pull <remote> <local>デバイス ファイル / ディレクトリをホストにコピーします。既定の宛先は `.`(現在のディレクトリ)。
-a タイムスタンプを保持; -p 進捗を表示
adb pull /sdcard/screen.png ./screenshots/latest.pngフォワーディング
adb forward tcp:<host-port> tcp:<device-port>ホスト ポートをデバイス ポートにフォワードします — Chrome タブに対して Chrome リモート デバッグ ソケットを開くために一般的に使用されます。
--remove; --remove-all
adb forward tcp:9222 localabstract:chrome_devtools_remoteadb reverse tcp:<device-port> tcp:<host-port>デバイス ポートをホスト ポートにリバース フォワードします — dev サーバーが `localhost:3000` で動作していて、デバイスがそれにヒットする必要がある場合に便利です。
adb reverse tcp:3000 tcp:3000 && curl http://localhost:3000/api/healthadb forward --listアクティブなポート フォワードとリバースを一覧表示します。リセットするには `adb forward --remove-all` と組み合わせます。
adb forward --list && adb reverse --listアプリ管理
adb shell pm clear <package>特定のパッケージのアプリ データ + キャッシュを消去します — `Settings → Apps → Storage → Clear` と同じ効果です。
adb shell pm clear com.example.myappadb shell pm grant <package> <permission>UI プロンプトなしでランタイム権限(例: `android.permission.CAMERA`)を付与します — テスト セットアップで一般的です。
adb shell pm grant com.example.myapp android.permission.READ_CONTACTSadb shell am force-stop <package>実行中のアプリを強制停止します(プロセスが強制終了されます)。フォアグラウンド アプリを再インストールするときに便利です。
adb shell am force-stop com.example.myapp && adb install -r app.apkブート / リカバリ
adb rebootデバイスを再起動します。バリアント: `recovery`、`bootloader`、`fastboot`、`download`、`edl`。
recovery | bootloader | fastboot | download | edl
adb reboot bootloader && fastboot flashalladb sideload <zip>リカバリ モード(通常は `adb reboot recovery` 経由で入力)から署名済み OTA / ファクトリー イメージ zip をサイドロードします。
adb sideload ota-update.zipデバッグ
adb shell run-as <package> <cmd>アプリの UID としてコマンドを実行します — デバッグ可能 APK が自身のプライベート データ ディレクトリを読み取るために必要です。
<package> cat ./databases/my.db > /sdcard/dump.db
adb shell run-as com.example.myapp ls databasesadb shell dumpsys <service>システム サービス(`battery`、`window`、`activity`、`package`、`gfxinfo`、`netstats`)の状態をダンプします。
battery; activity; package; window; gfxinfo <pkg>; netstats
adb shell dumpsys gfxinfo com.example.myapp framestatsサーバー
adb start-serveradb サーバーを明示的に開始します(通常は任意のコマンドで自動開始されます)。`kill-server` の後に使用します。
adb start-serveradb kill-serveradb サーバーを停止し、すべてのデバイスを切断します。adb が `offline` 状態で動かなくなったときに便利です。
adb kill-server && adb start-server && adb devicesその他
adb --versionPlatform Tools バージョンを表示します。
adb --versionadb helpすべての adb サブコマンドを 1 行説明とともに一覧表示します。
adb helpワイヤレス
adb pair <ip>:<port>開発者向けオプションに表示される 6 桁のペアリング コードを使用して Wi-Fi 経由でデバイスとペアリングします。次に実際のデバッグ ポートに `adb connect` します。
<ip>:<port>
adb pair 192.168.1.42:41235関連コマンド速查
商標と利用についての告知
本コマンドラインツール・チートシート集はオープンコミュニティの参考資料です。本書で言及するツールの名前、ロゴ、商標(Git™、Docker™、Kubernetes®、kubectl、PostgreSQL®、MySQL®、Redis™、MongoDB®、Linux™、PowerShell™、Vim™ など)はすべてそれぞれの権利者の財産であり、本書では識別および参照の目的のみに使用しています。
本チートシートの全内容は独立して作成された簡略化された自己完結型の参考資料であり、いかなる公式ドキュメントにも所属せず、承認されておらず、また引用されたものでもありません。コマンド一覧、オプションフラグの説明、コード例はすべて著者による独自の簡略化です。権威ある情報については、各ツールの公式ドキュメントを参照してください。
コマンドの構文およびオプションフラグはツールのバージョンによって異なる場合があります。表示されるバージョンタグは安定リリースを示しています。他のバージョンでは動作が異なる場合があります。本書は商標権者による推奨や選好を意味するものではありません。
商標権者または著作権者の方で、当サイトの一部内容について権利侵害の懸念がある場合は[email protected]までご連絡ください。有効な権利証明を受領次第、合理的な期間内に関連内容を修正または削除いたします。
当サイトの情報を利用したことで生じたいかなる直接的・間接的損害についても、当サイトは法的責任を負いません。
ADB について
Android Debug Bridge (adb)は Android SDK Platform Tools に同梱される(2009 年から)コマンドライン ツールです。開発ワークステーションと USB、Wi-Fi、または TCP/IP 経由の任意の Android デバイスまたはエミュレーターをブリッジし、3 つのサブ コンポーネントを公開します:サーバー(ホスト上で実行、ポート 5037)、デーモン(`adbd` はデバイス上で実行)、`adb` CLI。現在の Platform Tools 系は 34+(Android 14 とともにリリース)です。`adb` は APK のインストール、logcat の読み取り、JDWP 経由のアプリのデバッグ、ROM のサイドロード、UI テストのスクリプト化、ファイルの push/pull の基礎です。ワイヤレス デバッグは Android 11 で追加されました(13+ で QR ペアリング フロー)。一般的な兄弟コマンドには `fastboot`(ブートローダー / リカバリ)と `emulator`(QEMU ベースの AVD)があります。ADB はアプリのソース コードをアップロードしません — APK とデバイス状態を出荷します。SDK Platform Tools は Apache 2.0 ライセンスで、スタンドアロン ZIP または SDK Manager 経由で入手できます。
チートシート バージョン 1.0.0