ADB こと Android Debug Bridge についてはAndroid Adb Analyse が詳しい。
しかし、そこそこ情報量があるのと、SC-02B でのいたずら目的にはこの全てを読む必要はない。
というわけで、必要そうなことだけ簡単にまとめてみる。
ADBでできることは主に以下の通り。
・デバイスに対してコマンドを発行する(デバイス上でコマンドを実行させる)
・デバイスにファイルをコピーする
・デバイスからファイルをコピーする
・adb serverの起動/停止
ADBは以下の3つからなる。
・クライアント
開発機(PC)上で実行される。shell(Windows ならコマンドプロンプト) から adb コマンドを発行することで実行される。
Eclipse のプラグインの ADT Plugin や Android SDK に含まれている Dalvik Debug Monitor Service (DDMS) もこの1つ。
クライアントを実行すると、サーバが起動しているかどうかチェックする。サーバが起動していない場合はサーバを起動する。
Windows なら Android SDK に含まれる adb.exe。
・サーバ
開発機(PC)上で実行されるバックグラウンドプロセス。クライアントとデーモン間の通信を管理する。
Windows なら adb.exe。クライアントとしての adb.exe とは別にサーバ用の adb.exe が実行される。
・デーモン
デバイス上で実行されるバックグラウンドプロセス。プロセス名は adbd。本体は /sbin/adbd にある。
シェルからコマンドを発行する
→ クライアントからサーバにコマンドを発行する
→ サーバがデーモンにコマンドを発行する
→ デーモンがデバイス上でコマンドを実行する
→ デーモンがコマンドを実行した結果をサーバに返す
→ サーバからクライアントに結果を返す
という流れ。
こんな感じで ADB を使えばデバイスを外から操ることができる。
0 件のコメント:
コメントを投稿