系统调试——ADB 工具

ADB 工具

1.1 概述

ADB(Android Debug Bridge) 是 Android SDK 里的一个工具, 用这个工具可以操作管理Android 模拟器或真实的 Android 设备。

主要功能有:

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

ADB 是一个"客户端-服务器端" 程序, 其中客户端主要是指 PC, 服务器端是 Android 设备的实体机器或者虚拟机。

根据 PC 连接 Box 机器的方式不同, ADB 可以分为两类:

  • 网络 ADB: 主机通过有线/无线网络(同一局域网) 连接到硬件设备
  • USB ADB: 主机通过 USB 线连接到硬件设备

1.2 Buildroot 配置

复制代码
BR2_PACKAGE_ADBD  [=y]

1.3 USB ADB 使用说明

USB ADB 使用有以下限制:

  • 只支持 USB OTG 口
  • 不支持多个客户端同时使用(如 cmd 窗口, eclipse 等)
  • 只支持主机连接一个设备, 不支持连接多个设备

连接步骤如下:

1,机器已经运行 Android 系统, 设置->开发者选项->已连接到计算机 打开, usb 调试开关打开。 (如果是 Linux 系统, 配置已默认打开)

2,PC 主机只通过 USB 线连接到机器 USB OTG 口, 然后电脑通过如下命令与机器相连。

复制代码
adb shell

3,测试是否连接成功, 运"adb devices"命令, 如果显示机器的序列号, 表示连接成功。

1.4 ADB 窗口乱码显示

如有遇到乱码情况, 主要是由于 Linux 系统输出颜色字符, 该工具并无法正常解析。

有两种解决方案:

  • 使用 puTTY 工具进行 adb 调试。

  • 命令行下输入以下命令, 去除颜色显示。

    alias ls='ls --color=never'

1.5 ADB 常用命令详解

1,查看设备情况

查看连接到计算机的设备或者模拟器:

复制代码
adb devices

返回的结果为连接至开发机的设备的序列号或是 IP 和端口号(Port) 、 状态。

2,进入设备和模拟器的 shell

进入设备或模拟器的 shell 环境:

复制代码
 adb shell

3,从电脑上传文件到设备

用 push 命令可以把本机电脑上的任意文件或者文件夹上传到设备。

本地路径一般指本机电脑;

远程路径一般指 adb 连接的单板设备。

复制代码
adb push <本地路径> <远程路径>
示例如下:
adb push "C:\test\test.apk" "/system/test1"

示例说明: 将本地"test.apk" 文件上传到设备系统的"/system/test1" 目录下。

4,从设备下载文件到电脑

pull 命令可以把设备上的文件或者文件夹下载到本机电脑中。

复制代码
adb pull <远程路径> <本地路径>示例如下:
adb pull /system/test1/test.apk C:\

示例说明: 将设备系统里"/system/test1" 目录下的文件或文件夹下载到本地"C:\" 目录下。

相关推荐
九皇叔叔1 天前
MySQL ORDER BY 性能优化详解:Using filesort、联合索引、ASC/DESC 与覆盖索引
android·adb
firstacui3 天前
Mysql调优
android·mysql·adb
醉颜凉3 天前
MySQL 8 忘记 root 密码?这两种方法帮你轻松解决
数据库·mysql·adb
2601_962063233 天前
【Spring Boot】掌握 Spring 事务:隔离级别与传播机制解读与应用
spring boot·spring·adb
小成很成5 天前
mysql 8.0.21 升级 mysql 8.0.45(经过生产环境验证)
android·mysql·adb
2501_916007476 天前
免费抓包工具 Windows 和 Mac 怎么选?根据平台来选择工具
网络协议·计算机网络·网络安全·ios·adb·https·udp
2501_916008896 天前
iOS App 请求地址查看,不用配置看到 App 调了哪些接口
网络协议·计算机网络·网络安全·ios·adb·https·udp
码云数智-园园8 天前
PHP 性能优化实战:从 3s 到 300ms,我是怎么优化一个接口的?
android·adb
2501_915918418 天前
Rust 程序抓包解密,rustls 不认系统证书的几种办法
开发语言·后端·网络协议·ios·adb·https·rust
Free飝Fly8 天前
Android13及更新版本开启user版本adb root remount
adb