Programming Style

メニュー

初心者がアプリ開発者になるためのプログラミング学習サイト

[Android] adb:adbコンポーネントを理解する

android-common-top

Android Debug Bridge(adb)は、Androidの実機やエミュレータとやりとりするためのコマンドラインツールです。ここでは、adbコマンドについての概要について説明してきます。

 

広 告

 

目次

 

前提条件

  • なし

動作確認端末

  • なし

1. adbコンポーネントの種類

adbコマンドは以下の3つのコンポーネントを含んだ、サーバ・クライアント型のプログラムです。

 

adbクライアント
adbクライントはPC上で動作します。adbコマンドを実行すると、シェルを通してクライアントを呼び出すことができます。ADTやDDMSのような他のAndroidツールもまたadbクライアントを呼び出します。
adbサーバ
adbサーバはPCのバックグラウンドプロセスとして動作します。Adbサーバはadbクライアントと実機やエミュレータ上で動作するadbデーモンとの接続管理を行います。
adbデーモン
adbデーモンは、実機やエミュレータ上でバックグランドとして動作するデーモンプロセスです。

 

2. adb起動の流れ

adbクライントが起動した時、まずクライントはadbサーバが起動しているかを確認します。もし起動していなければ、adbサーバを起動します。

 

Adbサーバは実行中の実機、エミュレータに対して接続設定を行います。adbサーバが起動した時、adbサーバは、ローカルのTCPポート5037に対してバインド(結合)し、adbクライアントから送られてくるコマンドを受けます。

 

実機やエミュレータに対して割り振られるポート番号は、5555〜5585の間の奇数番号になります。adbサーバがadbデーモンを認識したバア、該当するポートに対して接続設定を行います。

 

それぞれの実機やエミュレータは、連番のペアとなるポートを取得します。偶数番号のポートはコンソール、奇数番号のポートはadbデーモンになります。

 

adbサーバは、すべての実機、エミュレータと接続を確立した後、adbコマンドを使ってアクセスできるようになります。Adbサーバは、複数のadbクライアントを管理し、どのクライアントからのコマンドも処理することができます。

 

 

3. adbコマンドツールの格納場所

adbコマンドツール以下のフォルダに格納されています。<sdk>はAndroid SDKをインストールしたフォルダパスを表しています。

 

adbコマンドラインツールの格納フォルダ

/platform-tools/

 

4. adbデバッグを有効にする

adbコマンドを実機で使用するためには、PCと実機をUSBケーブルで接続し、実機をUSBデバッグモードにする必要があります。詳しい手順についてはこちらを参照してください。

 

 

5. adbコマンドの書式

adbコマンドは以下の書式で記述します。

 

adbコマンドの書式

adb [-d|-e|-s ] 

実機もしくはエミュレータが1つのみ接続されている場合は、adbコマンドがデフォルトでその実機もしくはエミュレータに対して実行されます。もし複数の接続がある場合は、-d-e-s、のオプションでターゲットを特定する必要があります。

 

 

広 告