Android 调试桥模式
Android 调试桥 (adb) 是一款多功能的命令行工具,允许您与设备进行通信。ADB 通常用于与智能手机、平板电脑、智能手表、机顶盒或任何其他可以运行 Android 操作系统的设备进行通信。我们可以对 Android 设备执行一些不适合日常使用的操作,例如安装 Play 商店以外的应用程序、调试应用程序、访问隐藏功能以及启动 UNIX shell 等。出于安全原因,需要解锁开发者选项,并且还需要启用 USB 调试模式。不仅如此,您还需要向您通过 USB 数据线连接到的特定 PC 授权 USB 调试访问权限。它是一个客户端-服务器程序,包含三个组件:
客户端,发送命令。客户端运行在您的开发机器上。您可以通过发出 adb 命令从命令行终端调用客户端。
守护程序,在设备上运行命令。守护程序在每个设备上作为后台进程运行。
服务器,管理客户端和守护程序之间的通信。服务器在您的开发机器上作为后台进程运行。
工作原理
在 Kali Linux 终端启动 **adb** 客户端后,客户端首先确认是否已运行 **adb** 服务器进程。如果没有,它将启动服务器进程。服务器启动后,它将绑定到本地 TCP 端口 5037 并侦听来自 adb 客户端发送的命令——所有 adb 客户端都使用端口 5037 与 **adb** 服务器通信。然后,服务器建立与所有正在运行的设备的连接。它通过扫描 5555 到 5585 范围内的奇数端口来查找模拟器,这是前 16 个模拟器使用的范围。在服务器找到 **adb** 守护程序的地方,它将建立到该端口的连接。
注意 - 要将 adb 与通过 USB 连接的设备一起使用,必须在设备系统设置下的 **开发者选项** 中启用 **USB 调试**。开发者选项屏幕默认情况下是隐藏的。要使其可见,请转到 **设置 > 关于手机** 并点击 **版本号** 七次。返回到上一屏幕,您会在底部找到 **开发者选项**。
连接
在 Android 设备中启用开发者选项后,使用 USB 数据线将其连接到 PC。但是,我们也可以通过 Wi-Fi 建立连接。
在 Kali Linux 中打开终端
通过其 IP 地址连接到设备,该地址位于 **设置 > 关于平板电脑(或关于手机)> 状态 > IP 地址**
:/> adb connect ‘IP地址’
之后,使用以下命令确认您的主机计算机已连接到目标设备;它显示已连接设备的序列号。
:/> adb devices
ADB 命令
一旦与 Android 设备建立连接,用户就可以执行多种类型的操作。以下是与设备通信的命令列表:
命令 | 注释 |
---|---|
adb devices | 打印已连接的设备 |
adb kill-server | 杀死 adb 服务器 |
adb root | 获取 root 访问权限 |
adb wait-for-devices | 等待 adb 设备 |
adb shell stop thermal-engine | 停止系统服务 /system/bin/thermal-engine |
adb install | 在 adb 中安装应用程序 |
adb shell | 启动 shell |
adb shell dumpsys | 显示内存消耗详情 |
adb shell echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor | 将 cpu1 调节器设置为性能模式 |
adb pull | 从设备复制文件或目录 |
adb push | 将文件或目录复制到设备 |
adb forward tcp:6100:7100 | 端口转发 |