adb(Android Debug Bridge)は、ホストのPCからAndroid端末やエミュレータを操作するコマンドラインツールである。端末の接続、ファイル転送、アプリのインストール、ログの確認など、Android開発の多くの場面で使う。
端末に接続する
- 【adb】devicesで接続端末の一覧を確認する
devices -lで接続中の端末と状態を一覧表示し、-sで操作する端末を指定する。 - 【adb】connect/disconnectでTCP/IP経由の端末に接続する
connect/disconnectでWi-Fiなどネットワーク経由の端末に接続・切断する。 - 【adb】usb/tcpipでUSB接続とTCP/IP接続を切り替える
tcpipで端末をTCP/IP接続の待ち受けに切り替え、usbでUSB接続に戻す。 - 【adb】start-server・kill-server・reconnectでadbサーバーを操作する
端末が認識されない場合に、
kill-server・start-serverでadbサーバーを再起動する。reconnectで端末と再接続する。
ファイル転送・シェル
- 【adb】push/pullでホストと端末の間でファイルを転送する
push/pullでホストと端末の間でファイルをコピーする。 - 【adb】shellでコマンドを実行する、-t/-Tでpty割り当てを制御する
shellで端末上のコマンドを実行する。対話シェルとワンショット実行の違いも扱う。
ポートフォワーディング
- 【adb】forwardでホスト→端末のポートフォワーディングを設定する
forwardでホストのポートへの接続を端末へ転送する。 - 【adb】reverseで端末→ホストの逆方向ポートフォワーディングを設定する
reverseで端末のポートへの接続をホストへ転送する。端末からホストの開発サーバーにアクセスする場合に使う。
アプリのインストール・アンインストール
- 【adb】installでAPKをインストールする、-t/-d/-gオプション
installでAPKをインストールする。テスト用APK・ダウングレード・権限付与のオプションも扱う。 - 【adb】install-multiple/install-multi-packageで複数のAPKをインストールする
install-multipleでSplit APKを、install-multi-packageで複数のアプリをまとめてインストールする。 - 【adb】uninstallでアプリをアンインストールする
uninstallでアプリをアンインストールする。 - 【Android】コマンドでインストール済みアプリの一覧を表示する
adb shell pm list packagesでインストール済みアプリのパッケージ名を確認する。
ログ・診断情報
- 【adb】logcatでタグ・優先度によるログのフィルタと表示形式を変える
logcatで端末のログを表示し、タグや優先度で絞り込む。 - 【adb】bugreportで端末の診断情報をzipで取得する
bugreportでログやシステム情報をまとめたzipを取得する。
デバッグ・動作確認
- 【adb】jdwpでデバッグ可能なプロセスを調べてjdbで接続する
jdwpでデバッグ可能なプロセスを調べ、forwardとjdbでデバッガを接続する。 - 【Android】IntentFilterでブラウザからアプリを開く(ディープリンク)
adb shell am startでディープリンクの動作を確認する。
エミュレータの操作
- 【adb】emuでエミュレータの位置情報やバッテリー状態を変更する
emuでエミュレータのコンソールコマンドを実行し、位置情報・バッテリー・SMS受信などを再現する。 - 【Android】コマンドでエミュレータを日本語設定にする
Appium SettingsのAPKを導入し、
adb shell am broadcastでエミュレータの言語を日本語に変更する。 - 【Android】エミュレータのアニメーションを無効にして自動テストによるスクリーンショットをきれいに撮る
adb shell settings putでアニメーションを無効にする。
再起動・状態の待機と取得
- 【adb】rebootで端末を再起動する・bootloaderやrecoveryで起動する
rebootで端末を再起動する。ブートローダーやリカバリーモードでの起動も扱う。 - 【adb】wait-forで端末の接続や状態の変化を待つ
wait-for-deviceなどで、端末が指定した状態になるまで待つ。 - 【adb】get-state・get-serialno・get-devpathで端末の情報を取得する
get-stateなどで端末の状態やシリアル番号を1行で取得する。
\確かな知識を身に着けたい、Androidアプリ開発を学びたい人にオススメ!/
