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

adb 简介与常用命令

1. adb 简介

adb 的全称为 Android Debug Bridge,就是起到调试桥的作用。

借助 adb 工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行 shell 命令等等。其实简而言说,adb 就是连接 Android 手机与 PC 端的桥梁,可以让用户在电脑上对手机进行全面的操作。

通过 adb 我们也可以在 Eclipse 中方面通过 DDMS 来调试 Android 程序(即 debug 工具)。

adb 的工作方式比较特殊,采用监听 Socket TCP 5554 等端口的方式让 IDE 和 Qemu 通讯,默认情况下 adb 会 daemon 相关的网络端口,所以当我们运行 Eclipse 时 adb 进程就会自动运行。

 

2. adb 常用命令

查看设备

adb devices

这个命令是查看当前连接的设备, 连接到计算机的 android 设备或者模拟器将会列出显示。

查看手机系统版本

adb shell getprop ro.build.version.release

安装软件

adb install <apk文件路径>

这个命令将指定的apk文件安装到设备上

卸载软件

adb uninstall <软件名>
adb uninstall -k <软件名>

-k 参数表示卸载软件但是保留配置和缓存文件.

进入设备或模拟器的 shell

adb shell  # 进入 shell 中,执行各种 shell 命令
adb shell [command]  # 执行一条 shell 命令

通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个 Linux Shell 中,你可以执行各种 Linux 的命令。另外

如果只想执行一条 shell 命令,可以采用以下的方式,如:adb shell dmesg 会打印出内核的调试信息。

发布端口

可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:

adb forward tcp:5555 tcp:8000

从电脑上发送文件到设备

adb push <本地路径> <远程路径>

用 push 命令可以把本机电脑上的文件或者文件夹复制到设备(手机)。

从设备上下载文件到电脑

adb pull <远程路径> <本地路径>

用 pull 命令可以把设备(手机)上的文件或者文件夹复制到本机电脑。

查看设备的 Log 日志

常用格式如下:

// 格式1:打印默认日志数据
adb logcat // 格式2:需要打印日志详细时间的简单数据
adb logcat -v time// 格式3:需要打印级别为Error的信息
adb logcat *:E// 格式4:需要打印时间和级别是Error的信息
adb logcat -v time *:E// 格式5:将日志保存到电脑固定的位置,比如D:\log.txt
adb logcat -v time > D:\log.txt

查看 bug 报告

adb bugreport

记录无线通讯日志

一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:

adb shell
logcat -b radio

获取设备的 ID 和序列号

adb get-product
adb get-serialno

adb 服务器杀死和启动

adb kill-server
adb start-server

装包、卸载包

adb -s deviceid install <apk在PC端的路径>
adb shell pm install <apk在移动端的路径>
adb uninstall <包名>

与 Activity 操作等相关

1)获取当前启动 app 的包名:

adb shell dumpsys window w |findstr \/ |findstr name=

2)通过获取到的包名获取到启动 app 的 activity:

adb shell monkey -p 包名 -vvv 1

与进程相关

列出当前进程:

adb shell ps | findstr <包名>

杀死某个包的进程:

adb shell am force-stop <包名>

性能相关

获取内存:

adb shell dumpsys meminfo <包名>

获取 CPU:

adb shell dumpsys cpuinfo | findstr <包名>
adb shell top -n 1 | findstr <包名>

获取流畅度相关:

adb shell dumpsys gfxinfo <包名>

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

相关文章:

  • 线上事故处理记录
  • mx6ull-裸机学习实验15——RTC 实时时钟实验
  • 浪潮CD1000-移动云电脑-RK3528芯片-2+32G-开启ADB ROOT破解教程
  • MySQL断开连接后无法正常启动解决记录
  • 第一次搭建数据库
  • 壁仞 k8s 兼容
  • 力扣hot100速通(7.9)|49.字母异位词分组 128.最长连续序列 283.移动零 11.盛最多水的容器 42.接雨水
  • Swift 图论实战:DFS 算法解锁 LeetCode 323 连通分量个数
  • 力扣面试150题--全排列
  • leetcode 3440. 重新安排会议得到最多空余时间 II 中等
  • Leetcode力扣解题记录--第42题 接雨水(动规和分治法)
  • 图解LeetCode:79递归实现单词搜索
  • 【LeetCode100】--- 1.两数之和【复习回滚】
  • 力扣-73.矩阵置零
  • 力扣-54.螺旋矩阵
  • 每天一个前端小知识 Day 29 - WebGL / WebGPU 数据可视化引擎设计与实践
  • C++11 std::is_sorted 和 std::is_sorted_until 原理解析
  • 邀请函 | 知从科技邀您共赴2025 RISC-V 中国峰会
  • 使用 Qlib 获取股票数据
  • 从零开始的语言模型构建 CS336 第一课(一)
  • 数字孪生系统如何助力汽车零部件企业实现虚拟智控
  • Allegro PCB 手动添加元器件全流程解析
  • Pytest 预期失败测试:如何标记“已知问题”用例
  • HTTP 请求体类型详解:选择最适合的数据提交格式
  • 西部数据WD授权代理商-深圳同袍存储科技有限公司
  • QT6 源(160)模型视图架构里的树表视图 QTreeView 篇一:本类的属性, public 与 protected 成员函数 ,
  • 字节跳动高质量声音克龙文字转语音合成软件MegaTTS3整合包
  • 华为昇腾NPU与NVIDIA CUDA生态兼容层开发实录:手写算子自动转换工具链(AST级代码迁移方案)
  • 「py数据分析」04如何将 Python 爬取的数据保存为 CSV 文件
  • 2025.07.09华为机考真题解析-第二题200分