当前位置: 首页 > article >正文

系统调试——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:\” 目录下。

http://www.lryc.cn/news/2400908.html

相关文章:

  • Qwen-3 微调实战:用 Python 和 Unsloth 打造专属 AI 模型
  • 微软Build 2025:Copilot Studio升级,解锁多智能体协作未来
  • 设计模式——系统数据建模设计
  • 解决docker运行zentao 报错:ln: failed to create symbolic link ‘/opt/zbox/tmp/mysq
  • Spring Boot MVC自动配置与Web应用开发详解
  • OA工程自动化办公系统 – 免费Java源码
  • Apache IoTDB V2.0.3 发布|新增元数据导入导出脚本适配表模型功能
  • 某校体育场馆结构自动化监测
  • MySQL 9.0 相较于 MySQL 8.0 引入了多项重要改进和新特性
  • Android 3D球形水平圆形旋转,旋转动态更换图片
  • 数据结构与算法学习笔记(Acwing 提高课)----动态规划·树形DP
  • FTP 和 SFTP 介绍及 C/C++ 实现分析
  • leetcode hot100刷题日记——36.最长连续序列
  • CentOS7关闭防火墙、Linux开启关闭防火墙
  • PyTorch——搭建小实战和Sequential的使用(7)
  • 基于大模型的腔隙性脑梗塞风险预测及治疗方案研究
  • Python 开发效率秘籍:PyCharm、VS Code 与 Anaconda 配置与实战全解
  • [C]C语言日志系统宏技巧解析
  • 自动驾驶系统研发系列—激光雷达感知延迟:自动驾驶安全的隐形隐患?
  • 内网应用如何实现外网访问?无公网IP本地端口网址服务提供互联网连接
  • 大话软工笔记—组合要素1之要素
  • oracle从表B更新拼接字段到表A
  • 平台化 LIMS 系统架构 跨行业协同与资源共享的实现路径
  • RedisTemplate查询不到redis中的数据问题(序列化)
  • 如何利用乐维网管进行IP管理
  • unix/linux,sudo,其历史争议、兼容性、生态、未来展望
  • git stash命令用法
  • SkyWalking如何实现跨线程Trace传递
  • 软件工程专业的本科生应该具备哪些技能
  • 使用 Spring Boot 3.3 和 JdbcTemplate 操作 MySQL 数据库