文章目录
  1. 1. ADB是什么
    1. 1.1. ADB架构
  2. 2. ADB基本用法
    1. 2.1. 单一设备/模拟器连接
    2. 2.2. 多个设备/模拟器连接
    3. 2.3. adb shell
    4. 2.4. adb常用命令
      1. 2.4.1. Activity Manager
      2. 2.4.2. dump
      3. 2.4.3. Package Manager
      4. 2.4.4. File Manager
      5. 2.4.5. Logcat
      6. 2.4.6. Screenshot
    5. 2.5. 设备管理连接
      1. 2.5.1. USB 连接
      2. 2.5.2. WLAN 连接(需要 USB 线)
      3. 2.5.3. WLAN 连接(无需借助 USB 线)
      4. 2.5.4. WiFi 连接转为 USB 连接

ADB是什么

adb(全称Android Debug Bridge):Android调试桥梁。用来协助相关人员更快更好的调试apk,adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能。

ADB架构

ADB是一个C/S架构的应用程序,由三部分组成:

  1. 运行在pc端的adb client:
    命令行程序”adb”用于从shell或脚本中运行adb命令。首先,”adb”程序尝试定位主机上的ADB服务器,如果找不到adb服务器,”adb”程序自动启动一个ADB服务器。接下来,当设备的adbd和pc端的ADB server建立连接后,adb client就可以向ADB server发送服务请求;
  2. 运行在pc端的adb server:
    ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,ADB Server还需要将adb client的请求通过usb或者tcp的方式发送到对应的adbd上;
  3. 运行在设备端的常驻进程adb demon(adbd):
    程序”adbd”作为一个后台进程在Android设备或者模拟器系统中运行。它的作用是连接ADB服务器,并且为运行在主机上的客户端提供一些服务;

ADB基本用法

adb能做什么?
答案是所有能对手机的操作都能用adb实现。

adb命令的基本语法如下:
adb [-d|-e|-s ]

单一设备/模拟器连接

如果只有一个设备/模拟器连接时,可以省略掉[-d|-e|-s ] 这一部分,直接使用adb

多个设备/模拟器连接

如果有多个设备/模拟器连接,则需要为命令指定目标设备,下表是指定目标设备的命令选项:

参数 含义
-d 指定当前唯一通过USB连接的Android设备为命令目标
-e 指定当前唯一运行的模拟器为命令目标
-s 指定相应设备序列号的设备/模拟器为命令目标

adb shell

Android的内核本身就是Linux,所有Android本身也支持Linux命令。
在手机中执行Shell命令,每次都加上adb shell来进行命令的发送和执行。

adb常用命令

用途 命令
查看adb的版本信息 adb version
启动adb服务 adb start-server
停止adb服务 adb kill-server
查询已连接的设备/模拟器列表 adb devices
指定adb server的网络端口 adb -P start-server,adb的默认端口为:5037
以root权限运行adbd adb root

Activity Manager

用途 命令
获得应用的启动时间 adb shell am start -W<package_name>/.<activity_class_name>
启动activity adb shell am start -n<package_name>/.<activity_class_name>
杀掉APP adb shell am force-stop <package_name>

dump

用途 命令
查看版本号 adb shell dumpsys package com.youxiang.soyoungapp findstr versionName
获取系统数据 adb shell dumpsys

adb shell dumpsys [options]
adb shell dumpsys activity activities
adb shell dumpsys activity|findstr mResumedActivity

Package Manager

用途 命令
安装应用 adb install
直接安装应用 adb install test.apk
覆盖安装 adb install -r test.apk
卸载应用 adb uninstall
直接卸载 adb uninstall test.apk
保留数据卸载 adb uninstall -k test.apk
打印apk路径 adb shell pm path
清除应用缓存 adb shll pm clear

File Manager

用途 命令
从Android设备下载文件到pc adb pull [local] adb pull /sdcard/test.png c:\user
把pc文件放到Android设备 adb push
列出目录内容 adb shell ls [option]
进入文件夹 adb shell cd
删除文件或目录 adb shell rm [options]
创建文件夹 adb shell mkdir[options]
复制文件 adb shell cp [options]
移动或者更名文件 adb shell mv [options]

Logcat

用途 命令
打印日志文件 adb logcat [options] [filter-specs]

Screenshot

用途 命令
截图保存为test.png adb shell screencap /sdcard/test.png
录屏保存为test.mp4 adb shell screencord /sdcard/test.mp4

设备管理连接

USB 连接

通过 USB 连接来正常使用 adb 需要以下步骤:

  1. 确认硬件状态正常(包括 Android 设备处于正常开机状态,USB 连接线和各种接口完好)。
  2. Android 设备的开发者选项和 USB 调试模式已开启(可以在「设置」-「开发者选项」-「USB调试」打开USB调试)。
  3. 确认设备驱动状态正常(安装ADB驱动程序)。
  4. 通过 USB 线连接好电脑和设备后确认状态。
  5. 通过 adb devices 命令查看设备连接情况。

WLAN 连接(需要 USB 线)

借助 USB 通过 WiFi 连接来正常使用 adb 需要以下步骤:
操作步骤:

  1. 将 Android 设备与要运行 adb 的电脑连接到同一个 WiFi。
  2. 将设备与电脑通过 USB 线连接(可通过 adb devices 命令查看设备连接情况)。
  3. 通过 adb tcpip 5555 命令让设备在 5555 端口监听 TCP/IP 连接。
  4. 断开 USB 连接。
  5. 找到设备的 IP 地址(可以在「设置」-「关于手机」-「状态信息」-「IP地址」查看 IP 地址)。
  6. 通过 adb connect 命令使用 IP 地址将 Android 设备与电脑连接。
  7. 通过 adb devices 命令查看设备连接情况。
  8. 使用完毕后可通过 adb disconnect 命令断开无线连接。

WLAN 连接(无需借助 USB 线)

注:需要 root 权限。不借助 USB 通过 WiFi 连接来正常使用 adb 需要以下步骤:

  1. 在 Android 设备上安装一个终端模拟器(可通过Terminal Emulator for Android Downloads下载)。
  2. 将 Android 设备与要运行 adb 的电脑连接到同一个 WiFi。
  3. 打开 Android 设备上的终端模拟器,在里面依次运行命令:

    1
    2
    su
    setprop service.adb.tcp.port 5555
  4. 找到设备的 IP 地址(可以在「设置」-「关于手机」-「状态信息」-「IP地址」查看 IP 地址)。

  5. 通过 adb connect 命令使用 IP 地址将 Android 设备与电脑连接。
  6. 通过 adb devices 命令查看设备连接情况。

WiFi 连接转为 USB 连接

通过adb usb命令以USB模式重新启动ADB:

1
adb usb

文章目录
  1. 1. ADB是什么
    1. 1.1. ADB架构
  2. 2. ADB基本用法
    1. 2.1. 单一设备/模拟器连接
    2. 2.2. 多个设备/模拟器连接
    3. 2.3. adb shell
    4. 2.4. adb常用命令
      1. 2.4.1. Activity Manager
      2. 2.4.2. dump
      3. 2.4.3. Package Manager
      4. 2.4.4. File Manager
      5. 2.4.5. Logcat
      6. 2.4.6. Screenshot
    5. 2.5. 设备管理连接
      1. 2.5.1. USB 连接
      2. 2.5.2. WLAN 连接(需要 USB 线)
      3. 2.5.3. WLAN 连接(无需借助 USB 线)
      4. 2.5.4. WiFi 连接转为 USB 连接