「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>Androidのデバッグ]]
*目次 [#sfac6c90]
#contents
*概要 [#eb33bedb]
-エミュレータや接続された端末と通信できる~
用途の広いコマンドライン ツール
-adbは、android_sdk/platform-tools/ にある。
*詳細 [#ue67a533]
**コンポーネント [#n9c0e17a]
***クライアント [#ve1f9186]
-開発マシンで実行される。
-adbコマンドを送信する。
***サーバー [#a6cbbf47]
-開発マシンでバックグラウンド プロセスとして実行される。
-クライアントとデーモン間の通信を管理する。
***デーモン [#m5f08567]
-端末でコマンドを実行する。
-各エミュレータ / 端末インスタンスで~
バックグラウンド プロセスとして実行される。
**仕組 [#bb13ce1e]
以下の順でデバッグが確立する。
***adb クライアントを起動する [#ib85a8a6]
-adb クライアントを起動すると、既に実行されている~
adb サーバ プロセスがあるかどうかを最初に確認する。
-adb サーバ プロセスがない場合、クライアントはサーバを起動。
***クライアント・サーバ間の接続 [#ka6c58a4]
-サーバーが起動すると、サーバはローカル TCP ポート 5037 をリッスン。
-すべての adb クライアントはポート 5037 を使用して adb サーバと通信。
***サーバとエミュレータ / 端末インスタンスの接続 [#q6b918fe]
サーバは、以下の方法でエミュレータ / 端末インスタンスへの接続をセットアップ。
-サーバは、エミュレータ / 端末が使用する ポートをスキャンしインスタンスを見つける。
-サーバは adb デーモンを見つけると、そのポートへの接続をセットアップする。
-各エミュレータ / 端末インスタンスはサーバへの連続ポート+1の接続をセットアップする。
-以下その例。
エミュレータ 1、コンソール: 5554
エミュレータ 1、adb: 5555
エミュレータ 2、コンソール: 5556
エミュレータ 2、adb: 5557
**[[手順(デプロイ)>Androidのデプロイ#o1221b8b]] [#vb6182ef]
*参考 [#g0434e87]
-Android Debug Bridge(adb) | Android デベロッパー | Android Developers~
https://developer.android.com/studio/command-line/adb?hl=JA