☰
Android adb常用的命令
2026/10/28 18:59:15 网站建设 项目流程

文章目录

  • 一、系统环境和adb的版本
  • 二、设备连接和服务管理
    • 1.列出已连接设备(serial + device/offline)
    • 2.查看adb版本
    • 3.启动adb服务和停止adb服务(解决连接异常)
    • 4.连接无线连接设备和断开设备
    • 5.进入设备shell终端,exit退出
    • 6.以root权限启动adb(仅工程/root机)
    • 7.重启设备和关机
  • 三、APK安装卸载和包管理
    • 1.安装apk
    • 2.卸载apk
    • 3.列出所有应用包名
    • 4.只列出第三方应用(过滤系统包)
    • 5.清空应用数据+缓存
    • 6.查看apk在设备上的路径
    • 7.查看应用详细信息
      • 7-1.查看应用的VersionName和VersionCode
      • 7-2.查看应用的安装路径
      • 7-3.查看应用的权限列表
      • 7-4.查看应用的签名信息
      • 7-5.查看应用的用户id uid
      • 7-6.查看应用的查询启动入口Activity
      • 7-7.查看安装时间
  • 四、日志Logcat
    • 1. 实时打印全部日志
    • 2.清空旧日志缓存区
    • 3.带时间戳输出日志
    • 4.把日志保存到本地
    • 5.过滤指定进程日志
    • 6.过滤包名日志
  • 五、Activity 管理 am(启动 APP、广播)
    • 1.启动Activity
    • 2.打开网页
    • 3.发送广播
    • 4.强制杀掉应用进程
  • 六、屏幕操作、输入模拟
    • 1.保存截图到手机
    • 2.把截图拉到电脑
    • 3.录制视频并且保存到手机
    • 4.保存录屏到手机
    • 5.点击屏幕的坐标 x=1000 y=500
    • 6.滑动 x1 y1 → x2 y2,时长ms
    • 7.点击Home键,返回键,电源键,音量+ -
  • 七、屏幕操作、输入模拟
    • 1.实时查看进程CPU内存
    • 2.查看CPU占用
    • 3.查看应用内存
    • 4.查看电池信息
    • 5.查看屏幕分辨率、dpi
    • 6.查看当前前台Activity
    • 7.查看应用包信息
  • 八、网络硬件控制
    • 1.打开wifi 和关闭wifi
    • 2.打开移动数据和关闭移动数据
    • 3. 获取系统版本
    • 4.获取设备型号
    • 九、更多的命令

一、系统环境和adb的版本

系统:MacOS 15.1
adb 版本:Version 35.0.2-12147458 (Android studio自带)
测试设备:emulator-5554
前提:手机开启【开发者选项】→【USB 调试】;多设备时加 ‘-s 序列号’ 指定设备:‘adb -s xxx shell’




二、设备连接和服务管理

1.列出已连接设备(serial + device/offline)

adb devices

输出结果:


2.查看adb版本

adb version

输出结果:


3.启动adb服务和停止adb服务(解决连接异常)

adb start-server
adb kill-server

4.连接无线连接设备和断开设备

# 连接设备adb connect127.0.0.1:5555

# 断开所有设备adb disconnect
# 断开指定的设备adb disconnect127.0.0.1:5555

输出结果:


5.进入设备shell终端,exit退出

adb shell

输出结果:


6.以root权限启动adb(仅工程/root机)

adb root

7.重启设备和关机

# 重启设备adbreboot
# 重启进入recoveryadbrebootrecovery
# 重启进入fastbootadbrebootfastboot
# 关机adb shellreboot-p




三、APK安装卸载和包管理

1.安装apk

# 安装apk test_app.apk改为自己的对应命名的apk名称adbinstalltest_app.apk
# 覆盖安装,保留数据 test_app.apk改为自己的对应命名的apk名称adbinstall-rtest_app.apk
# 允许降级安装 test_app.apk改为自己的对应命名的apk名称adbinstall-dtest_app.apk

输出结果:在手机屏幕上看见对应的应用icon和下面的日志说明成功了,
失败的话:参考这个https://github.com/mzlogin/awesome-adb 链接 常见安装失败输出代码、含义及可能的解决办法如下
一般的原因是空间不够内存不足,包没有签名,包签名对不上等等


2.卸载apk

# 卸载应用(参数是包名,不是apk文件名) com.company.app 改为自己对应的包名adb uninstall com.company.app
# 卸载但保留数据缓存(参数是包名,不是apk文件名) com.company.app 改为自己对应的包名adb uninstall-kcom.company.app

输出结果:


3.列出所有应用包名

adb shell pm list packages

输出结果:


4.只列出第三方应用(过滤系统包)

adb shell pm list packages-3

输出结果:

5.清空应用数据+缓存

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell pmclearcom.company.app

输出结果:

6.查看apk在设备上的路径

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell pm path com.company.app

输出结果:

7.查看应用详细信息

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell pm dump com.company.app

但是输入的内容很长,我们这边最好选择使用过滤的方式输出,根据自己的需要

7-1.查看应用的VersionName和VersionCode

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell pm dump com.company.app|grepversionName

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell pm dump com.company.app|grepversionCode

输出结果:


7-2.查看应用的安装路径

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell pm dump com.company.app|greppath

输出结果:


7-3.查看应用的权限列表

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell pm dump com.company.app|greppermission

输出结果:


7-4.查看应用的签名信息

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell pm dump com.company.app|greppermission

输出结果:


7-5.查看应用的用户id uid

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell pm dump com.company.app|grepuserId

输出结果:


7-6.查看应用的查询启动入口Activity

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell pm dump com.company.app|grep-A10"android.intent.action.MAIN"

输出结果:


7-7.查看安装时间

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell pm dump com.company.app|grep-A10"android.intent.action.MAIN"

输出结果:




四、日志Logcat

1. 实时打印全部日志

# 实时打印全部日志adb logcat

2.清空旧日志缓存区

# 清空旧日志缓存区adb logcat-c

3.带时间戳输出日志

# 清空旧日志缓存区adb logcat-vtime

按ctrl+c结束

输出结果:


4.把日志保存到本地

# 把日志保存到本地# /Users/renjianfa/Downloads/ 改为自己保存的路径# logcat.txt 改为自己的命名adb logcat>/Users/renjianfa/Downloads/logcat.txt

按ctrl+c结束日志打印,就会保存到当前保存的路径

输出结果:



5.过滤指定进程日志

# 根据包名获取pid# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell pidof com.company.app

输出结果:

# pid 改为当前的进程pidadb logcat--pid=6064

按ctrl+c结束日志打印

输出结果:


6.过滤包名日志

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb logcat|grepcom.company.app

按ctrl+c结束日志打印
输出结果:




五、Activity 管理 am(启动 APP、广播)

1.启动Activity

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名# 启动的activity: com.company.app.module.MainActivity 根据自己的需要进行修改adb shell am start com.company.app/com.company.app.module.MainActivity

输出结果: 打印成功即可并且能打开app的启动类activity


2.打开网页

adb shell am start-aandroid.intent.action.VIEW-dhttps://www.baidu.com

输出结果: 打开浏览器的网页


3.发送广播

adb shell am broadcast-aandroid.intent.action.BOOT_COMPLETED# 发送广播

4.强制杀掉应用进程

# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell am force-stop com.company.app

输出结果:打开的应用退出被杀掉




六、屏幕操作、输入模拟

1.保存截图到手机

# 保存截图到手机adb shell screencap /sdcard/screenshot.png

输出结果:


2.把截图拉到电脑

# 把截图拉到电脑# /sdcard/screenshot.png 手机的图片路径# /Users/xxxxx/Downloads 改为自己电脑路径adb pull /sdcard/screenshot.png /Users/xxxxx/Downloads

输出结果:


3.录制视频并且保存到手机

# 保存截图到手机adb shell screenrecord /sdcard/rec.mp4

按ctrl+c结束录制
输出结果:


4.保存录屏到手机

# 保存截图到手机adb shell screenrecord /sdcard/screenrec.mp4

输出结果:


5.点击屏幕的坐标 x=1000 y=500

# 点击屏幕的坐标 x=1000 y=500adb shell input tap1000500

6.滑动 x1 y1 → x2 y2,时长ms

# 滑动 x1 y1 → x2 y2,时长msadb shell input tap200800800300300

7.点击Home键,返回键,电源键,音量+ -

# 点击Home键adb shell input keyevent3

# 点击返回键adb shell input keyevent4

# 点击电源键adb shell input keyevent26

# 点击音量+adb shell input keyevent24

# 点击音量-adb shell input keyevent25




七、屏幕操作、输入模拟

1.实时查看进程CPU内存

# 实时查看进程CPU内存adb shelltop

按ctrl+c结束
输出结果:


2.查看CPU占用

# 查看CPU占用adb shell dumpsys cpuinfo


3.查看应用内存

# 查看应用内存# 参数是包名,不是apk文件名 com.company.app 改为自己对应的包名adb shell dumpsys meminfo com.company.app

输出结果:


4.查看电池信息

# 查看电池信息adb shell dumpsys battery

输出结果:


5.查看屏幕分辨率、dpi

# 查看屏幕分辨率、dpiadb shell dumpsys window displays

输出结果的内容有点多,这个命令会把 WindowManager 里所有 Display、窗口、任务栈、布局、Z 序、输入法、悬浮窗全部 dump 出来,内容巨多,大部分时候你只关心屏幕基础信息。
我们可以根据自己需要的信息过滤打印

# mDisplayId:主屏幕,多屏时会有 1、2 等# init:物理原始分辨率 + DPI# cur:当前生效分辨率(缩放 / 分屏会变)# app:APP 可用区域,扣掉状态栏 + 导航栏adb shell dumpsys window displays|grep-E"Display|init=|cur=|app=|mDisplayId"

输出结果:


6.查看当前前台Activity

# 查看屏幕分辨率、dpiadb shell dumpsys activitytop

输出结果的内容有点多,这个命令会把顶层 Activity、View 树、Fragment、DecorView、Bundle、回调、内存 Binder 信息全打出来。
我们可以根据自己需要的信息过滤打印

# 只看Activity行adb shell dumpsys activitytop|grepACTIVITY
# 只拿最顶上那一个(最常用)adb shell"dumpsys activity top | grep ACTIVITY | tail -n 1"

输出结果:


# 想看 Fragmentadb shell dumpsys activitytop|grep"Fragment #"
# 想看 View 树(布局、控件)adb shell dumpsys activitytop|grep"ViewRootImpl"

7.查看应用包信息

# 查看应用包信息adb shell dumpsys package com.company.app

输出结果的内容有点多,这个命令会把版本、安装路径、四大组件、intent-filter、权限、签名、用户 ID、appOp、共享库、历史安装记录全打出来。
我们可以根据自己需要的信息过滤打印。




八、网络硬件控制

1.打开wifi 和关闭wifi

# 打开wifiadb shell svc wifienable
# 关闭wifiadb shell svc wifi disable

输出结果:可以查看手机或者模拟器的wifi是否开启或者关闭即可


2.打开移动数据和关闭移动数据

# 打开移动数据adb shell svc dataenable
# 关闭移动数据adb shell svc data disable

3. 获取系统版本

adb shell getprop ro.build.version.release

输出结果:


4.获取设备型号

adb shell getprop ro.product.model

输出结果:




九、更多的命令

参考文案和更多实例链接:adb用例大全

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询