アプリケーションの実行中に .apk ファイルが形成され、その apk ファイルがエミュレーターにインストールされます。エミュレーターに apk ファイルをインストールするには、Android Debug Bridge (ADB) サービスが必要です。デーモンはこのサービスの一部です。私の質問は、デーモンの仕事は何ですか? それは何をするためのものか?
3 に答える
Android Debug Bridgeのドキュメントから:
Android Debug Bridge (adb) は、エミュレータ インスタンスまたは接続された Android 搭載デバイスと通信できる汎用コマンド ライン ツールです。これは、次の 3 つのコンポーネントを含むクライアント サーバー プログラムです。
- 開発マシンで実行されるクライアント。adb コマンドを発行して、シェルからクライアントを呼び出すことができます。ADT プラグインや DDMS などの他の Android ツールも adb クライアントを作成します。
- 開発マシンでバックグラウンド プロセスとして実行されるサーバー。サーバーは、エミュレーターまたはデバイスで実行されているクライアントと adb デーモン間の通信を管理します。
- 各エミュレータまたはデバイス インスタンスでバックグラウンド プロセスとして実行されるデーモン。
したがって、デーモンは、ADB サーバーからコマンドを受け取り、それらを実行するデバイス (またはエミュレーター) で実行される ADB コンポーネントです。
基本的に、ADB はユーザーとシステムの間にあるものです。Android システムには、次のようなコマンドを送信できるように、基本的に制御ポイントが必要です。
- このアプリをインストールします。
- ポート Y でアプリ X にデバッガーを接続します。
- ユーザーがデバイスと通信できるように、シェルを開きます。
ADB のない標準の Android システムを使用している場合、デバイスを制御する方法はありません。
ADB はOS ではなく、デバイス上で実行されるプログラムです。このプログラム (デバイス上で実行)は、コンピューター (またはポートなど) からのコマンドをリッスンし、ユーザーに代わってデバイス上でそれらを実行します。
私の質問は、デーモンの仕事は何ですか? それは何をするためのものか?
デーモンは、デーモン スレッドと同じプロセスで実行される他のスレッドまたはオブジェクトのサービス プロバイダーのようなものです。デーモン スレッドはバックグラウンド サポート タスクに使用され、通常のスレッドの実行中にのみ必要になります。通常のスレッドが実行されておらず、残りのスレッドがデーモン スレッドである場合、インタープリターは終了します。