特别声明:本文参考整理自:https://blog.csdn.net/zhonglunshun/article/details/78362439
一、设备相关
1、adb devices , 获取设备列表及设备状态
$ adb devices
2、连接设备
- 连接
$ adb connect 793eca9e:5555
- 查看连接状态
$ adb get-state
注:
若执行指令 adb get-state报错:
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
则执行指令:adb kill-server
二、安装包相关
1、查看设备已安装应用包名
//查看所有应用:
$ adb shell pm list packages
//查看系统应用:
$ adb shell pm list packages -s
//第三方应用:
$ adb shell pm list packages -3
//过滤查看应用:
$ adb shell pm list packages | grep mazhuang
2、安装应用
"""
adb install 实际是分三步完成:
* push apk 文件到 /data/local/tmp。
* 调用 pm install 安装。
* 删除 /data/local/tmp 下的对应 apk 文件。
参数 含义
-l 将应用安装到保护目录 /mnt/asec
-r 允许覆盖安装
-t 允许安装 AndroidManifest.xml 里 application 指定 android:testOnly="true" 的应用
-s 将应用安装到 sdcard
-d 允许降级覆盖安装
-g 授予所有运行时权限
"""
$ adb install [-lrtsdg]
3、卸载应用
//参数:-k:表示卸载应用但保留数据和缓存目录
$ adb uninstall [-k] 应用包名(格式:com.xxx.xxx)
4、清除应用数据与缓存
$ adb shell pm clear
5、查看应用详情信息
$ adb shell dumpsys packages
6、查看前台Activity
$ adb shell dumpsys activity activities | grep mFocusedActivity
7、查看正在运行的Services
$ adb shell dump sys activity services []
6、启动应用
$ adb shell am start -n package/acticity
三、文件管理
1、复制设备里的文件到电脑
adb pull
2、复制电脑里的文件到设备
adb push
四、模拟按键/输入
1、模拟点击
$ adb shell input x y
2、
$ adb shell input keyevent keycode
3、滑动解锁
$ adb shell input swipe start_x start_y end_x end_y
4、输入文本
$ adb shell input text hello
五、查看日志文件
1、输出日志文件
"""
Android 的日志分为如下几个优先级(priority):
* V —— Verbose(最低,输出得最多)
* D —— Debug I —— Info
* W —— Warning
* E —— Error
* F—— Fatal
* S —— Silent(最高,啥也不输出)
例如:adb logcat *:W
"""
$ adb logcat [
2、按照tag和级别过滤日志
//表示输出 tag ActivityManager 的 Info 以上级别日志,输出 tag MyApp 的 Debug 以上级别日志,及其它 tag 的 Silent 级别日志(即屏蔽其它 tag 日志)
$ adb logcat ActivityManager:I MyAPP:D *:S
3、日志格式
- brief:
/ ( ): - process:
( ) - tag:
/ :
-raw: - time:
/ ( ): - threadtime:
: - long:[
: / ]
$ adb logcat -v
4、内核日志
$ adb shell dmesg
六、查看设备信息
1、型号
$ adb shell getprop ro.product.model
2、电池状况
$ adb shell dump sys battery
3、屏幕分辨率
$ adb shell wm size
4、屏幕密度
$ adb shell wm density
5、android_id
$ adb shell setting get secure android_id
6、IMEI
$ adb shell dump sys iphonesubinfo
7、系统版本
$ adb shell getprop ro.build.version.release
8、IP地址
$ adb shell ifconfig |grep Mask
9、Mac地址
$ Adb shell cat /sys/class/net/wlan0/address
10.CPU信息
$ adb shell cat /proc/cupinfo
11、内存信息
$ adb shell cat /proc/meminfo
七、修改设置
#######1、修改分辨率
$ adb shell wm size 480*1024
2、分辨率重置
$ adb shell wm size reset
3、修改屏幕密度
$ adb shell wm density reset
4、屏幕密度重置
$ adb shell wm density 160
5、修改显示区域
$ adb shell wm overscan left, top, right, down
7、恢复原显示区域
$ adb shell wm overscan reset
8、状态栏和导航栏的显示隐藏
- immersive.full 同时隐藏
- immersive.status 隐藏状态栏
- immersive.navigation 隐藏导航栏
- immersive.preconfirms ?
$ adb shell settings put global policy_control
9、恢复屏幕正常模式
$ adb shell settings put global policy_control null
八、截屏与录制
1、屏幕截图
//-p 指定保存文件为 png 格式
//-d display-id 指定截图的显示屏编号(有多显示屏的情况下)
$ adb exec-out screencap -p > sc.png
$ adb shell screencap -p /sdcard/sc.png
2、录制屏幕
$ adb shell screen record /sdcard/filename.mp4
九、其他
1、查看进程
$ adb shell ps
$ adb shell ps | grep monkey
2、查看实时资源占用情况
- PID 进程 ID
- PR 优先级
- CPU% 当前瞬间占用 CPU 百分比
- S 进程状态(R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
- THR 线程数
- VSS Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
- RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存)
- PCY 调度策略优先级,SP_BACKGROUND/SPFOREGROUND
- UID 进程所有者的用户 ID
- NAME 进程名
$ adb shell top