zoukankan      html  css  js  c++  java
  • Android Debug Bridge

    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.

    命令定向

      

      

      -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:

      

    Installing an Application

      

    参考:

    1、http://developer.android.com/tools/help/adb.html

    2、http://android.xsoftlab.net/tools/help/adb.html

  • 相关阅读:
    Shiro框架:Failed to deserialize java.lang.Exception: Failed to deserialize问题解决
    Linux系统:CentOS防火墙的各种命令使用
    Linux系统:CentOS下vsftpd的安装配置
    Vue项目启动报错:UnhandledPromiseRejectionWarning: TypeError: loaderContext.getResolve is not a function问题解决
    Minio存储桶:部署存储服务以及设置永久下载链接
    Redis之Bitmaps
    Redis事务与Lua
    Redis Pipeline
    Redis Shell详解
    Redis慢查询
  • 原文地址:https://www.cnblogs.com/tekkaman/p/3997081.html
Copyright © 2011-2022 走看看