常用adb指令

特别声明:本文参考整理自: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

你可能感兴趣的:(常用adb指令)