• Android开发调试工具ADB的简单介绍

    一些背景知识
    服务器君一共花费 14.480 ms 进行了 3 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    ADB(Android Debug Bridge / Android调试桥接器)是Android SDK中的一个工具,使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备。

    ADB 帮助安卓设备和个人计算机之间的通信。这种通信大多是在USB电缆下进行,也支持Wi-Fi连接。adb 还可被用来与电脑上运行的安卓模拟器交流通信。adb 对于安卓开发来说就像一把“瑞士军刀”。它拥有众多的功能在指令(adb --help)中有详细描述。

    ADB主要功能有:

    • 在Android设备上运行Shell(命令行)
    • 管理模拟器或设备的端口映射
    • 在计算机和设备之间上传/下载文件
    • 将电脑上的本地APK软件安装至Android模拟器或设备上

    ADB用于管理模拟器或真机状态,采用了客户端-服务器模型,包括三个部分:

    • 客户端部分,运行在开发用的电脑上,可以在命令行中运行adb命令来调用该客户端,像ADB插件和DDMS这样的Android工具也可以调用adb客户端。
    • 服务端部分,是运行在开发用电脑上的后台进程,用于管理客户端与运行在模拟器或真机的守护进程通信。
    • 守护进程部分,运行于模拟器或手机的后台。

    当启动adb客户端时,客户端首先检测adb服务端进程是否运行,如果没有运行,则启动服务端。当服务端启动时,它会绑定到本地的TCP5037端口,并且监听从adb客户端发来的命令——所有的adb客户端都使用5037端口与adb服务端通信。

    接下来服务端与所有正在运行的模拟器或手机连接。它通过扫描5555-5585之间的奇数号端口来搜索模拟器或手机,一旦发现adb守护进程,就通过此端口进行连接。需要说明的是,每一个模拟器或手机使用一对有序的端口,偶数号端口用于控制台连接,奇数号端口用于adb连接,例如:

    Emulator 1, console: 5554
    Emulator 1, adb: 5555
    Emulator 2, console: 5556
    Emulator 2, adb: 5557 ...
    

    即如果模拟器与adb在5555端口连接,则其与控制台的连接就是5554端口。

    当服务端与所有的模拟器建立连接之后,就可以使用adb命令来控制或者访问了。因为服务端管理着连接并且可以接收到从多个adb客户端的命令,所以可以从任何一个客户端或脚本来控制任何模拟器或手机设备。

    获取adb和fastboot的最佳方法是直接从Google下载Android SDK。在您安装SDK工具后,启动SDK管理器并安装Android SDK Platform-tools包。请注意,在弹出对话框时,管理器会自动选择最新的Android X.x (API YY)包,如果您只想要adb和fastboot,可以安全地取消选择它。然后定期运行SDK管理器以检查更新,可以确保这些工具始终处于最新版本。

    如果你已经安装了Android SDK 那么你可以在你的SDK目录下找到 ..\android-sdk-windows\platform-tools 这个目录,ADB工具就放在这里。如图:

    复制这个目录的路径,我们需要在windows的系统设置中将这个路径设置到PATH中,设置完成后我们就可以再CMD窗口中使用ADB了。

    我们现在连接 Andriod 手机至电脑,然后进入CMD窗口。

    C:\Users\nowamagic>adb devices
    adb server is out of date.  killing...
    * daemon started successfully *
    List of devices attached
    132a6685        device
    

    这里的132a6685就是Android手机。

更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [移动开发] 使用support-v7 ActionBar前的那些坑 3 个条目
  2. [Python程序设计] Python语言概述 6 个条目
  3. [移动开发] Android 网络通信框架Volley 1 个条目
  4. [智力开发与知识管理] 整体性学习策略 9 个条目
  5. [移动开发] Android属性系统Property 9 个条目
  6. [搜索引擎优化] 与百度权重有关的信息 2 个条目
  7. [搜索引擎优化] 百度搜索引擎优化指南 3 个条目
  8. [Python程序设计] Tornado背景知识介绍 4 个条目
  9. [软件工程与项目管理] 呈现树的构建 13 个条目
  10. [Python程序设计] Django架构流程分析 7 个条目
  11. [JavaScript程序设计] 关于HTTP Keep-Alive 6 个条目
  12. [移动开发] Android Studio里的Gradle 3 个条目
窗口 -- [博客]