android adb紹介
4511 ワード
1.adbとは
SDKのToolsフォルダの下にはAndroidシミュレータ操作の重要なコマンドADBが含まれており、ADBのフルネームはAndroid Debug Bridgeと呼ばれ、ブリッジをデバッグする役割を果たしています.このツールを使用すると、デバイスや携帯電話のシミュレータの状態を管理したり、以下の操作を行うことができます.
(1)アプリケーションやAndroidシステムのアップグレードなど、デバイスや携帯電話シミュレータのコードを迅速に更新する.
(2)機器上でShellコマンドを実行する.
(3)管理装置または携帯電話シミュレータ上の所定のポート;
(4)デバイスまたは携帯電話シミュレータにファイルをコピーまたは貼り付ける.
公式サイトは以下の通りです.
Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device. It is a client-server program that includes three components: A client, which runs on your development machine. You can invoke a client from a shell by issuing an adb command. Other Android tools such as the ADT plugin and DDMS also create adb clients. A server, which runs as a background process on your development machine. The server manages communication between the client and the adb daemon running on an emulator or device. A daemon, which runs as a background process on each emulator or device instance.
You can find the
When you start an adb client, the client first checks whether there is an adb server process already running. If there isn't, it starts the server process. When the server starts, it binds to local TCP port 5037 and listens for commands sent from adb clients—all adb clients use port 5037 to communicate with the adb server.
The server then sets up connections to all running emulator/device instances. It locates emulator/device instances by scanning odd-numbered ports in the range 5555 to 5585, the range used by emulators/devices. Where the server finds an adb daemon, it sets up a connection to that port. Note that each emulator/device instance acquires a pair of sequential ports — an even-numbered port for console connections and an odd-numbered port for adb connections. For example:
Emulator 1, console: 5554Emulator 1, adb: 5555Emulator 2, console: 5556Emulator 2, adb: 5557and so on...
As shown, the emulator instance connected to adb on port 5555 is the same as the instance whose console listens on port 5554.
Once the server has set up connections to all emulator instances, you can use adb commands to access those instances. Because the server manages connections to emulator/device instances and handles commands from multiple adb clients, you can control any emulator/device instance from any client (or from a script).
2.adbを起動する
adbを使用してapkをインストールするとき、ヒント:
原因としては、パソコンにインストールされている携帯電話アシスタントがadbのポート5037を占有しているため、adbが起動できない.もし携帯電話のアシスタントを脱退することができて、しかも携帯電話を差し込んだ後にアシスタントもadbのポートを占領することはできなくて、保留することができます.仕方なく、私のパソコンの携帯電話のアシスタントはできません.私は取り外すしかありません.アンインストール後OKで、コマンドラインでadb操作をするとadb serverが起動します.iosパッケージをインストールする必要がある場合はitoolsを使用します.試してみたところ、上記の問題は起こらなかった.
adbを使用する場合はandroidのdebugモードをオンにする必要があります.
3. adb shell
ad shellは、androidデバイスを管理するためにshellを使用することができます.Androidは本質的にlinuxシステムなので、linuxの操作コマンドと似ています.cd/ls/rmなどです.
4.adb常用コマンドのlogcat
adbコマンド構文: adb logcat-c以前のログ をすべてクリア adb logcat-dログを印刷し、logモード を自動的に終了する. adb logcat-fはログをファイルに出力します.このファイルはデバイスに保存されているので、書き込み可能な場所にログを作成する必要があります.例えば/sdcard/logs.txt adb logcat-sデフォルトのフィルタを設定、「System.out」タブの情報を出力するにはadb logcat-s Systemを使用します.out adb logcat-tN最後のNログ を表示 adb logcat|grep XXXパイプコマンド、Linux と同じ
adb shellに入ってlogcatを実行することもできます.adb logcatパラメータと同じです.
5.adb常用コマンドのpull&push adb pull : Copies a specified file from an emulator/device instance to your development computer adb push : Copies a specified file from your development computer to an emulator/device instance
ログをメモするとpullコマンドを使用して、ログファイルをローカルに転送して表示できます.
SDKのToolsフォルダの下にはAndroidシミュレータ操作の重要なコマンドADBが含まれており、ADBのフルネームはAndroid Debug Bridgeと呼ばれ、ブリッジをデバッグする役割を果たしています.このツールを使用すると、デバイスや携帯電話のシミュレータの状態を管理したり、以下の操作を行うことができます.
(1)アプリケーションやAndroidシステムのアップグレードなど、デバイスや携帯電話シミュレータのコードを迅速に更新する.
(2)機器上でShellコマンドを実行する.
(3)管理装置または携帯電話シミュレータ上の所定のポート;
(4)デバイスまたは携帯電話シミュレータにファイルをコピーまたは貼り付ける.
公式サイトは以下の通りです.
Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device. It is a client-server program that includes three components:
You can find the
adb
tool in <sdk>/platform-tools/
. When you start an adb client, the client first checks whether there is an adb server process already running. If there isn't, it starts the server process. When the server starts, it binds to local TCP port 5037 and listens for commands sent from adb clients—all adb clients use port 5037 to communicate with the adb server.
The server then sets up connections to all running emulator/device instances. It locates emulator/device instances by scanning odd-numbered ports in the range 5555 to 5585, the range used by emulators/devices. Where the server finds an adb daemon, it sets up a connection to that port. Note that each emulator/device instance acquires a pair of sequential ports — an even-numbered port for console connections and an odd-numbered port for adb connections. For example:
Emulator 1, console: 5554Emulator 1, adb: 5555Emulator 2, console: 5556Emulator 2, adb: 5557and so on...
As shown, the emulator instance connected to adb on port 5555 is the same as the instance whose console listens on port 5554.
Once the server has set up connections to all emulator instances, you can use adb commands to access those instances. Because the server manages connections to emulator/device instances and handles commands from multiple adb clients, you can control any emulator/device instance from any client (or from a script).
2.adbを起動する
adbを使用してapkをインストールするとき、ヒント:
adb server is out of date. killing...
ADB server didn't ACK
* failed to start daemon *
原因としては、パソコンにインストールされている携帯電話アシスタントがadbのポート5037を占有しているため、adbが起動できない.もし携帯電話のアシスタントを脱退することができて、しかも携帯電話を差し込んだ後にアシスタントもadbのポートを占領することはできなくて、保留することができます.仕方なく、私のパソコンの携帯電話のアシスタントはできません.私は取り外すしかありません.アンインストール後OKで、コマンドラインでadb操作をするとadb serverが起動します.iosパッケージをインストールする必要がある場合はitoolsを使用します.試してみたところ、上記の問題は起こらなかった.
adbを使用する場合はandroidのdebugモードをオンにする必要があります.
3. adb shell
ad shellは、androidデバイスを管理するためにshellを使用することができます.Androidは本質的にlinuxシステムなので、linuxの操作コマンドと似ています.cd/ls/rmなどです.
4.adb常用コマンドのlogcat
adbコマンド構文:
[adb] logcat [<option>] ... [<filter-spec>] ...
adb shellに入ってlogcatを実行することもできます.adb logcatパラメータと同じです.
5.adb常用コマンドのpull&push
ログをメモするとpullコマンドを使用して、ログファイルをローカルに転送して表示できます.