# 开启关闭adb服务
adb start-server 启动ADB
adb kill-server 关闭ADB
adb devices 查看已连接的设备
# 上传和下载文件
adb -s 设备id号 push C:\demo.txt /sdcard
adb -s 设备id号 pull /sdcard/demo.txt C:\
# 安装和卸载app
adb install C:\2345Downloads\xianyu.apk
adb uninstall 包名称
adb shell pm list packages # 查看包列表
adb shell pm list packages -e 关键字 # 查看包列表(搜索)
# 查看处理器(32位/64位)
adb shell -s 设备id号 getprop ro.product.cpu.abi
adb shell getprop ro.product.cpu.abi
'''
armeabi-v7a(32位ARM设备)
arm64-v8a (64位ARM设备)
'''
# 进入系统命令(跟linux命令完全一致),
# 本身adb操作是不需要root的,但是如果不root手机,不能切换到root用户
adb shell # 进入命令行
taimen:/ $ su # 切换为root用户,必须root
taimen:/ # ls
'''
acct data firmware odm sdcard
apex
'''
# 其他
- 查看手机设备:adb devices
- 查看设备型号:adb shell getprop ro.product.model
- 查看电池信息:adb shell dumpsys battery
- 查看设备ID:adb shell settings get secure android_id
- 查看设备IMEI:adb shell dumpsys iphonesubinfo
- 查看Android版本:adb shell getprop ro.build.version.release
- 查看手机网络信息:adb shell ifconfig
- 查看设备日志:adb logcat
- 重启手机设备:adb reboot
- 安装一个apk:adb install /path/demo.apk
- 卸载一个apk:adb uninstall
- 查看系统运行进程:adb shell ps
- 查看系统磁盘情况:adb shell ls /path/
- 手机设备截屏:adb shell screencap -p /sdcard/aa.png
- 手机文件下载到电脑:adb pull /sdcard/aa.png ./
- 电脑文件上传到手机:adb push aa.png /data/local/
- 手机设备录像:adb shell screenrecord /sdcard/ab.mp4
- 手机屏幕分辨率:adb shell wm size
- 手机屏幕密度:adb shell wm density
- 手机屏幕点击:adb shell input tap xvalue yvalue
- 手机屏幕滑动:adb shell input swipe 1000 1500 200 200
- 手机屏幕带时间滑动:adb shell input swipe 1000 1500 0 0 1000
- 手机文本输入:adb shell input text xxxxx
- 手机键盘事件:adb shell input keyevent xx
如果当前界面是fragment 的话,可以用如下命令,打印出来的最后一行就是fragment 名称
adb shell dumpsys activity com.uulife.medical.activity
查看栈顶windows
adb shell "dumpsys window | grep mCurrentFocus"
查看当前main 入口的activity
dumpsys activity activities | findstr "Intent"
查看当前运行activity的几种方式
dumpsys activity activities | grep -i run
dumpsys activity activities | grep 'mResumedActivity'
dumpsys activity activities | findstr "mResumedActivity"
dumpsys activity activities | findstr "ResumedActivity"
查看各个缓冲区log
查看应用日志
adb logcat -b main
查看系统日志
adb logcat -b system
查看射频日志
adb logcat -b radio
查看系统event日志
adb logcat -b events
查看crash日志
adb logcat -b crash
查看kernel日志
adb logcat -b kernel
高频实用命令
清除日志缓冲区
adb logcat -c
转储日志并退出
adb logcat -d > log.txt
查看上次启动前的日志
adb logcat -L
只显示指定进程ID的日志
adb logcat --pid=472
显示带颜色的线程时间格式
adb logcat -v color,threadtime
显示UTC时间并包含年份
adb logcat -v UTC,year
显示简略信息:优先级、标签、PID
adb logcat -v brief
显示完整元数据
adb logcat -v long
显示原始日志
adb logcat -v raw
显示默认格式:时间、PID、TID
adb logcat -v threadtime
显示格式:时间、UID、PID、TID
adb logcat -v uid
输出二进制日志
adb logcat -B
将日志写入文件
adb logcat -f /sdcard/log.txt
每个日志文件最大1MB,保留5个旧文件
adb logcat -f /sdcard/log.txt -r 1024 -n 5
设置日志缓冲区为16MB
adb logcat -G 16M
显示日志统计信息
adb logcat -S
快速查找需要的关键信息
显示所有Error及以上级别的日志
adb logcat *:E
只显示ActivityManager的Info级别日志
adb logcat ActivityManager:I *:S
正则表达式过滤日志
adb logcat -e "error"
显示最近10条日志
adb logcat -t 10
显示指定时间后的日志
adb logcat -T "2025-04-10 23:44:40.10"
按UID过滤日志
adb logcat --uid=1000