【adb】adb常用命令

Android Debug Bridge (adb)

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作,例如安装和调试应用。adb 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

  • 客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
  • 守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
  • 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。

adb 包含在 Android SDK 平台工具软件包中。

您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/ 下。

adb常用命令

1. 连接设备

(1) adb连接模拟器:

举例:MuMu模拟器连接adb(下述命令在MuMu官网上搜 '连接adb' 就能找到命令 )

  • windows:
    • 在终端中输入:adb connect 127.0.0.1:7555
    • 再输入:adb shell
  • mac:(本质:重启服务)
    • 在终端中输入adb kill-server 命令;(关闭服务)
    • 再输入adb devices 命令。(查看设备状态)

(2)adb 连接真机(android手机)设备:

  1. 手机端:让手机处于调试模式;
    • 设置 -> 关于手机 ->连续点击版本号7次,显示您已处于开发者模式
    • 设置 -> 开发者选项 -> 打开USB调试
  2. 电脑端安装手机驱动。
    • 可以通过豌豆荚或者手机助手下载驱动,用完删掉即可(可能端口号冲突)

2. 查看设备状态:

adb devices 或者 adb get-state

设备状态种类

  • device 正常
  • offline 连接出现异常,设备无响应
  • unauthorized 未授权

3. adb命令格式

powershell 复制代码
adb [-d|-e|-s <serialNumber>] <command>

参数 含义

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

4. 安装命令 adb install

如果本地只有一个设备,不用加 -s参数

在终端中输入命令:

  • 普通安装:adb install <apk路径>
  • 覆盖安装/替代安装: adb install -r <apk路径>

注意:<apk路径> 要替换为真实的apk路径

5. 卸载命令 adb uninstall

在终端中输入以下命令:

  • 卸载应用 adb uninstall 包名
  • 卸载应用(不删除配置文件,保存数据缓存信息)adb uninstall -k 包名

6. 获取当前的页面名

  1. 打开手机app应用的某个页面
  2. 打开命令行工具,执行命令:adb shell "dumpsys window | grep mCurrentFocus"

7. 获取启动页面的activity

命令:

  • mac: adb logcat ActivityManager:I | grep "cmp"
  • win: adb logcat ActivityManager:I | findstr "cmp"

8. 启动页面

命令:adb shell am start -n <包名>/<activity名>

举例:adb shell am start -n com.dangdang.buy2/.StartupActivity

9. adb shell 应用

Android 是 Linux内核的,别的操作系统可以通过adb shell 这个命令来操控 android系统

  • 查看目录结构:adb shell ls
  • 查看系统当前时间:adb shell date
  • 查看系统CPU使用情况:adb shell cat /proc/cpuinfo
  • 查看系统内存使用情况:adb shell cat /proc/meminfo

也可以直接使用adb shell 进入到android系统的内核中,就可以正常使用linux命令了。

查看应用列表:

  • 显示所有应用:adb shell pm list packages
  • 显示系统自带应用:adb shell pm list packages -s
  • 显示第三方应用:adb shell pm list packages -3

10. 清除应用数据及缓存

adb shell pm clear <包名>

举例:adb shell pm clear com.tencent.mobileqq

获取包名命令:adb shell "dumpsys window | grep mCurrentFocus"

区分 pm 和 am

  • pm ( package manager ), 包管理器;
  • am ( activity manager ),你能使用am去模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等。

参考链接:

官方文档手册:https://developer.android.com/studio/command-line/adb?hl=zh-cn

adb命令零基础快速入门视频:https://www.bilibili.com/video/BV1Sg411u7GE?p=1\&vd_source=936c723d48d92c0a50090991e8b3c956

相关推荐
流星白龙14 小时前
【MySQL高阶】7.MySQL日志
数据库·mysql·adb
流星白龙15 小时前
【MySQL高阶】0.MySQL的安装
数据库·mysql·adb
流星白龙17 小时前
【MySQL高阶】6.MySQL数据目录,日志
android·mysql·adb
流星白龙17 小时前
【MySQL高阶】2.MySQL命令行客户端(2)
android·mysql·adb
流星白龙17 小时前
【MySQL高阶】5.MySQL服务器简介
服务器·mysql·adb
流星白龙18 小时前
【MySQL高阶】9.在一台机器上运行多个MySQL实例
数据库·mysql·adb
流星白龙19 小时前
【MySQL高阶】8.MySQL系统库
android·mysql·adb
亚空间仓鼠3 天前
Docker容器化高可用架构部署方案(十七)
adb
AI人工智能+电脑小能手4 天前
【大白话说Java面试题 第80题】【Mysql篇】第10题:MySQL 在什么条件下索引失效?
java·开发语言·mysql·adb·面试
会Tk矩阵群控的小木4 天前
深入解析tk矩阵系统ADB实时投屏与多设备控制实现
运维·线性代数·adb·矩阵·个人开发