adb devicesは、PCに接続されている実機・エミュレータの一覧を表示するサブコマンドである。基本的な一覧表示に加えて、-lでの詳細表示と、複数の端末を接続している場合に対象を絞り込む-sオプションについても解説する。
接続端末の一覧とシリアル番号を確認する
引数なしでadb devicesを実行すると、接続中の端末の状態が一覧表示される。1列目に表示される値が各端末を識別するシリアル番号であり、後述の-sオプションにはこのシリアル番号を指定する。
$ adb devices
List of devices attached
emulator-5554 device
状態には次のようなものがある。
device: 通常に接続され操作可能offline: adbサーバーは端末を検出しているが、adbデーモン(adbd)とのハンドシェイクが完了していない(起動中やadbd再起動直後など)unauthorized: USBデバッグの許可待ち
-lで端末の詳細情報を確認する
同じ種類のエミュレータを複数起動している場合など、シリアル番号だけではどの端末か判別しづらいことがある。-lを付けると、シリアル番号に加えて機種名や接続方式などの詳細情報も表示され、対象を見分ける手がかりになる。
$ adb devices -l
List of devices attached
emulator-5554 device product:sdk_gphone64_arm64 model:sdk_gphone64_arm64 device:emu64a transport_id:2
productはビルド名、modelは機種名、deviceはデバイスコードネーム、transport_idはadbサーバー内部での接続識別子を表す。
確認したシリアル番号を-sに指定して対象を絞り込む
複数端末が接続された状態で、-sを付けずにadb shellなどのコマンドを実行するとエラーになる。
$ adb devices
List of devices attached
emulator-5554 device
emulator-5556 device
$ adb shell getprop ro.build.version.release
adb: more than one device/emulator
先ほどadb devicesで確認したシリアル番号を-sに指定すると、対象の端末に絞ってコマンドを実行できる。
$ adb -s emulator-5554 shell getprop ro.build.version.release
16
$ adb -s emulator-5556 shell getprop ro.build.version.release
16
-sはadb本体へのグローバルオプションのため、サブコマンドより前に指定する。
\確かな知識を身に着けたい、Androidアプリ開発を学びたい人にオススメ!/
