获取序列号:
adb get-serialno
查看连接计算机的设备:
adb devices
重启机器:
adb reboot
重启到bootloader,即刷机模式:
adb reboot bootloader
重启到recovery,即恢复模式:
adb reboot recovery
查看设备内所有apk对应的包名和路径:adb shell pm list package -f
将系统所有当前运行的activity(程序)输出到本地目录:
adb shell dumpsys activity >D:APPAndroid
amelog.txt
查看log:
adb logcat
使用V、D、I、W、E、F、S优先级标记进行过滤
V —— Verbose 明细(最低优先级)
D —— Debug 调试
I —— Info 信息
W —— Warn 警告
E —— Error 错误
F —— Fatal 严重错误
S —— Silent 无记载(最高优先级,没有什么会被记载)
[adb] logcat [<option>] ... [<filter-spec>] ..
-b <buffer> 加载一个可使用的日志缓冲区供查看,比如event 和radio . 默认值是main 。具体查看Viewing Alternative Log Buffers.
-c 清楚屏幕上的日志.
-d 输出日志到屏幕上.
-f <filename> 指定输出日志信息的<filename> ,默认是stdout .
-g 输出指定的日志缓冲区,输出后退出.
-n <count> 设置日志的最大数目<count> .,默认值是4,需要和 -r 选项一起使用。
-r <kbytes> 每<kbytes> 时输出日志,默认值为16,需要和-f 选项一起使用.
-s 设置默认的过滤级别为silent.
-v <format> 设置日志输入格式,默认的是brief 格式
where <tag> is a log component tag (or * for all) and priority is:
V Verbose
D Debug
I Info
W Warn
E Error
F Fatal
S Silent (supress all output)
'*' means '*:d' and <tag> by itself means <tag>:v
终止adb服务进程:
adb kill-server
重启adb服务进程:
adb start-server
获取机器MAC地址:
adb shell cat /sys/class/net/wlan0/address
获取CPU序列号:
adb shell cat /proc/cpuinfo
安装APK:
adb install <apkfile> //比如:adb install baidu.apk
多个设备时安装apk:adb -s 虚拟设备名称install 本地路径.apk
保留数据和缓存文件,重新安装apk:
adb install -r <apkfile> //比如:adb install -r baidu.apk
安装apk到sd卡:
adb install -s <apkfile> // 比如:adb install -s baidu.apk
卸载APK:
adb uninstall <package> //比如:adb uninstall com.baidu.search
卸载app但保留数据和缓存文件:
adb uninstall -k <package> //比如:adb uninstall -k com.baidu.search
启动应用:
adb shell am start -n <package_name>/.<activity_class_name>
/proc/sys/vm/drop_caches 清除一下系统cache
查看设备cpu和内存占用情况:
adb shell top
top -d 1 | grep 【包名】 每一秒打印一次内存使用情况。
查看占用内存前6的app:
adb shell top -m 6
刷新一次内存信息,然后返回:
adb shell top -n 1
查询各进程内存使用情况:
adb shell procrank
杀死一个进程:
adb shell kill [pid]
查看进程列表:
adb shell ps
查看指定进程状态:
adb shell ps -x [PID]
查看后台services信息:
adb shell service list
查看当前内存占用:
adb shell cat /proc/meminfo
查看IO内存分区:
adb shell cat /proc/iomem
将system分区重新挂载为可读写分区:
adb remount
从本地复制文件到设备:
adb push <local> <remote>
从设备复制文件到本地:
adb pull <remote> <local>
列出目录下的文件和文件夹,等同于dos中的dir命令:
adb shell ls
进入文件夹,等同于dos中的cd 命令:
adb shell cd <folder>
重命名文件:
adb shell rename path/oldfilename path/newfilename
删除system/avi.apk:
adb shell rm /system/avi.apk
删除文件夹及其下面所有文件:
adb shell rm -r <folder>
移动文件:
adb shell mv path/file newpath/file
设置文件权限:
adb shell chmod 777 /system/fonts/DroidSansFallback.ttf
新建文件夹:
adb shell mkdir path/foldelname
查看文件内容:
adb shell cat <file>
查看wifi密码:
adb shell cat /data/misc/wifi/*.conf
清除log缓存:
adb logcat -c
查看bug报告:
adb bugreport
获取设备名称:
adb shell cat /system/build.prop
查看ADB帮助:
adb help
跑monkey:
adb shell monkey -v -p your.package.name 500
获取当前运行的产品包名:adb shell dumpsys window w |findstr / |findstr name=
按键事件
input text <string> input a string to device
input keyevent <event_code> send a Key Event to device
如: adb shell input keyevent 26 (PowerKey)
从电脑上发送文件到设备
adb push <本地路径> <远程路径>
用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
如: adb push /local/build.prop /system/build.prop
从设备上下载文件到电脑
adb pull <远程路径> <本地路径>
用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
如: adb /system/build.prop /local/
同步更新
adb sync [ <directory> ]
如果不指定目录,将同时更新 /data 和 /system/
如: adb sync /data/
adb 查看最上层的activity名称
linux:
adb shell dumpsys activity | grep "mFocusedActivity"
windows:
adb shell dumpsys activity | findstr "mFocusedActivity"
mFocusedActivity: ActivityRecord{6b00fff u0 com.rrcm.rrearn/.mvp.ui.activity.W0_WelcomeActivity t5724}