码迷,mamicode.com
首页 > 移动开发 > 详细

Android Debug Bridge

时间:2014-09-27 20:34:00      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:des   android   style   blog   http   color   io   os   使用   

Android Debug Bridge

  ADB lets you communicate with an emulator instance or connected Android-powered device. ADB 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 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.

  adb-server使用5037作为接口,接收所有client的请求。

  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: 5554
  Emulator 1, adb: 5555
  Emulator 2, console: 5556
  Emulator 2, adb: 5557
  and so on...

  偶数用于console连接,奇数用于adb连接

  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).

Enabling adb Debugging

  In order to use adb with a device connected over USB, you must enable USB debugging in the device system settings, under Developer options.

命令定向

  bubuko.com,布布扣

  bubuko.com,布布扣

  -s 的参数使用devices命令来获得。

Querying for Emulator/Device Instances

  输入 adb devices后,In response, adb prints this status information for each instance:

  • Serial number — A string created by adb to uniquely identify an emulator/device instance by its console port number. The format of the serial number is <type>-<consolePort>. Here‘s an example serial number: emulator-5554
  • State — The connection state of the instance may be one of the following:
    • offline — the instance is not connected to adb or is not responding.
    • device — the instance is now connected to the adb server. Note that this state does not imply that the Android system is fully booted and operational, since the instance connects to adb while the system is still booting. However, after boot-up, this is the normal operational state of an emulator/device instance.
    • no device — there is no emulator/device connected.

  Here‘s an example showing the devices command and its output:

  bubuko.com,布布扣

Installing an Application

  bubuko.com,布布扣

 

参考:http://developer.android.com/tools/help/adb.html

Android Debug Bridge

标签:des   android   style   blog   http   color   io   os   使用   

原文地址:http://www.cnblogs.com/tekkaman/p/3997081.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!