概要
adbコマンドを仕事で使って気になって調べてみた!
「そもそもadb」コマンドとは?
- 対象者
- Android開発者
- クロスプロットフォームでAndroidアプリの開発をしている人
日本語の公式サイトがあった!
公式より引用
Android Debug Bridge(adb)は、デバイスと通信するための多用途のコマンドライン ツールです。adb コマンドを使用すると、アプリのインストールやデバッグなど、さまざまなデバイス操作を実行できます。adb を使用すると、デバイスでさまざまなコマンドを実行する際に使用する Unix シェルにアクセスできるようになります。adb は、以下の 3 つのコンポーネントで構成されるクライアント サーバー プログラムです。
-
クライアント: コマンドを送信します。クライアントは開発マシンで稼働します。adb コマンドを発行することにより、コマンドライン ターミナルからクライアントを呼び出すことができます。
-
デーモン(adbd): デバイスでコマンドを実行します。デーモンは、各デバイスでバックグラウンド プロセスとして稼働します。
-
サーバー: クライアントとデーモン間の通信を管理します。サーバーは、開発マシンでバックグラウンド プロセスとして稼働します。
adb は、Android SDK Platform-Tools パッケージに含まれています。このパッケージは SDK Manager を使ってダウンロードします。SDK Manager はこのパッケージを android_sdk/platform-tools/ にインストールします。スタンドアロンの Android SDK Platform Tools パッケージが必要な場合は、こちらからダウンロードします。
Connection Assistant を使用して一般的な問題のトラブルシューティングを行う方法など、adb 経由で使用するためにデバイスを接続する方法については、ハードウェア デバイス上でのアプリの実行をご覧ください。
adb の仕組み
adb クライアントを起動すると、まず稼働中の adb サーバー プロセスがすでに存在していないかどうかがチェックされます。サーバー プロセスが存在しない場合は、クライアントによりサーバー プロセスが起動します。 起動したサーバーは、ローカル TCP ポート 5037 にバインドされ、adb クライアントから送信されるコマンドをリッスンします。
使い方
まずはプロジェクトを作ろう。
ScrcpyDemoって変な名前を私はつけました笑
applicationIdは「com.example.scrcpydemo」になっております。
USBデバッグできる状態のAndroid端末で実験してみました。
- 接続しているデバイスの情報を取得
adb devices
実行結果
List of devices attached
58071FDCQ006MR device
私の場合は一度ビルドしないと表示されなかったが、コマンドで実機にアプリをインストールすることもできる。
adb install -t -r ./app/build/intermediates/apk/debug/app-debug.apk\n
apkを探すコマンドがあるが、一度ビルドしないとファイルが見つからなかった!
find . -name "*.apk"\n
コマンドでアプリを削除することができて、applicationIdを指定すると削除できる。
adb uninstall com.example.scrcpydemo
感想
今回は、adbコマンドについてご紹介しました。Android Debug Bridgeの略ですね。デバイスと通信するための多用途のコマンドライン ツールでございます!
仕事で、Firebase Analytics DebugViewを使用する機会がありその時によく使っていたので、今回調べました(^_^;)
参考まで読んでください。adbコマンドはクロスプロットフォームのFlutterやってる人でも使う機会ありましたね。