Android adb命令详解及用法系列(一)

本文主要分享什么是adb 、adb的作用、如何启用adb以及如何识别adb连接是否正常。如有错误,欢迎指正。

更多Android技术分享可以关注我的Android技术圈子,也可以加入QQ群号:690347536,学习交流Android开发技能。

一、adb是什么?

adb即Android调试桥(Android Debug Bridge) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

  • 客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
  • 守护程序 (adbd) :用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
  • 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。

adb 包含在 Android SDK 平台工具软件包中。您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/ 下。

二、adb有什么作用?
  • 在调试设备上运行Shell命令
  • 操作设备的文件系统
  • 打印调试信息
  • 安装卸载apk文件
  • 等等各种作用
三、如何启用adb调试
  • 通过USB链接到设备
    如要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 USB 调试(位于开发者选项下)。
    在搭载 Android 4.2 及更高版本的设备上,“开发者选项”屏幕默认情况下处于隐藏状态。如需显示开发者选项,请依次转到设置 > 关于手机,然后点按 build 号七次。返回上一屏幕,在底部可以找到开发者选项
    在某些设备上,“开发者选项”所在的位置或名称可能有所不同。
    确定设备正常连接到电脑,在命令窗口运行adb devices,没有意外的话会打印出当前链接设备的名称及状态(device表示链接正常)。

  • 通过 Wi-Fi 连接到设备

    • Android 11 及更高版本

      1. 首先更新到最新版本的 SDK 平台工具。
      2. 在设备上启用开发者选项。
      3. 启用无线调试选项。
      4. 在询问要允许通过此网络进行无线调试吗? 的对话框中,点击允许
      5. 选择使用配对码配对设备。记下设备上显示的配对码、IP 地址和端口号。
      6. 在工作站上,打开一个终端并导航到 android_sdk/platform-tools
      7. 运行 adb pair ipaddr:port。 使用第 5 步中的 IP 地址和端口号。
      8. 当系统提示时,输入您在第 5 步中获得的配对码。系统会显示一条消息,表明您的设备已成功配对。
      9. 运行 adb connect ipaddr:port。使用无线调试下的 IP 地址和端口。
    • Android 10及更低版本

      一般情况下,adb 通过 USB 与设备进行通信,但您也可以在以下情况下通过 WLAN 使用 adb:

      1. 将 Android 设备和 adb 主机连接到这两者都可以访问的同一 WLAN 网络。

      2. 使用 USB 线将设备连接到主机。

      3. 设置目标设备以监听端口 5555 上的 TCP/IP 连接。

        adb tcpip 5555
        
      4. 拔掉连接目标设备的 USB 线。

      5. 找到 Android 设备的 IP 地址。可以在设置 > 关于平板电脑 (或关于手机)> 状态 > IP 地址下找到 IP 地址。

      6. 通过 IP 地址连接到设备。

        adb connect device_ip_address:5555
        
      7. 确认主机已连接到目标设备:

        $ adb devices
        List of devices attached
        device_ip_address:5555 device
        

    如果adb 连接断开:

    1. 确保两组设备在统一局域网环境下;
    2. 再次通过adb connect重新连接;
    3. 如果还不能正常连接,使用adb kill-server adb start-server 重置adb主机,再次连接。
四 如何判断设备连接正常

使用adb devices[-l]命令
会打印出当前连接到的所有设备信息:

  • 序列号:由adb创建的字符串,用户通过端口号唯一标识设备;

  • 设备状态:

    • offline:设备未连接到adb 或者没有相应;
    • device: 设备已经连接到adb服务器;
    • no deivce:未连接到任何设备。

更多Android技术分享可以关注我的Android技术圈子,也可以加入QQ群号:690347536,学习交流Android开发技能。

你可能感兴趣的:(Android adb命令详解及用法系列(一))