adb shell一些常用的命令

本文详细介绍了ADB(Android Debug Bridge)工具的各个组成部分及其功能,包括如何使用ADB进行设备管理、文件传输、应用程序管理以及高级调试技巧,如远程连接、系统动作执行和系统信息获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

adb全名Andorid Debug Bridge. 顾名思义, 这是一个Debug工具。

然而, 为何称之为Bridge呢? 因为adb是一个标准的CS结构的工具, 是要连接开发电脑和你的调试手机的.包含如下几个部分:

    1.Client端, 运行在开发机器中, 即你的开发PC机, 用来发送adb命令。

    2.Deamon守护进程,,运行在调试设备中,,即的调试手机或模拟器。

    3.Server端, 作为一个后台进程运行在开发机器中, 即你的开发PC机, 用来管理PC中的Client端和手机的Deamon之间的通信。

1 adb devices

列举当前连接的调试设备

2 adb logcat

打印log信息

3 adb shell -> cd data/data/-> ls

获取所有应用包名

4 adb install/uninstall

安装卸载apk (install 的时候跟上apk的绝对路径)

5 adb pull/push

调试设备和开发PC之间拷贝文件

6 adb start/kill server

启动/杀死adb简介中提到的Server端进程.

由于adb并不稳定, 有时候莫名的问题掉线时, 可以先kill-server, 然后start-server来确保Server进程启动. 往往可以解决问题。

高阶用法

1 adb connect/disconnect

通过wifi进行远程连接手机进行调试(需先连上usb模式, 开启远程调试模式:
$ adb tcpip 5555)

2 adb shell am

am即activity manager.
该命令用来执行一些系统动作, 例如启动指定activity, 结束进程, 发送广播, 更改屏幕属性等. 调试利器.

指令说明备注
start <Intent>根据intent指向启动ActivityIntent可以是显示的指向activity, 也可以是ACTION方式, 并且可以添加flag, data等参数信息.
startservice <Intent>启动Service可以添加flag, data等参数信息.
broadcast <Intent>发送广播可以添加flag, data等参数信息.
monitor启动一个Crash和ANR的监听器如有Crash或ANR会在控制台输出相关信息.
force-stop <Package>强制停止该包相关的一切传入package name.
kill <Package>杀死该包相关的所有进程传入package name.
kill-all杀死所有后台进程 
display-size WxH改变显示的分辨率例如adb shell am display-size 1280x720, 手机可能不支持.
display-density <dpi>改变显示的density例如adb shell am display-density 320, 手机可能不支持.

3 adb shell pm

pm即package manager.
用来执行package相关的操作, 例如安装卸载, 查询系统的安装包等.

指令说明备注
list packages <Filter>列出满足filter条件的所有包 
list permissions <Group>列出该Group的所有权限 
list features查看系统支持哪些feature例如蓝牙, wifi, 摄像头等.
install <Path>/uninstall <Package>安装卸载 
clear <Package>清除应用数据 

4 adb shell screencap

截屏,(ex: adb shell screencap /sdcard/test.png)

5 adb shell screenrecord

 录制屏幕

6 adb shell dumpsys

强大的dump工具, 可以输出很多系统信息. 例如window, activity, task/back stack信息, wifi信息等.

常用dumpsys:

指令说明备注细分参数
activity输出app组件相关信息还可以用细分参数获得单项内容, 下同. 例如adb shell dumpsys activity activities来获取activity task/back stack信息.activites, service, providers, intents, broadcasts, processes
alarm输出当前系统的alarm信息//
cpuinfo输出当前的CPU使用情况//
diskstats输出当前的磁盘使用状态//
batterystats电池使用信息//
packagepackage相关信息, 相当于pm功能的集合输出诸如libs, features, packages等信息/
meminfo输出每个App的内存使用和系统内存状态可以指定包名, 例如adb shell dumpsys meminfo com.anly.githubapp/
window输出当前窗口相关信息/policy, animator, tokens, windows
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值