ADB指令大全
- 显示当前运行的设备
adb devices
- 如果发现多个设备需要指定对某设备操作:
adb -s 设备号 [其他指令]
- 查看当前adb版本
adb version
- 杀死服务
adb kill-server
- 启动服务
adb start-server
- 查看所有App的包名
adb shell pm list packages [-f]//加-f可查看包名和路径
adb shell pm list packages -s //系统应用包名
adb shell pm list packages -3//第三方应用包名
- 通过主包名卸载安装的应用
adb uninstall [packageName]
- 通过路径去安装应用程序
adb install 用于安装
例如:adb install d:\Desktop\Iris.apk
将桌面上lris.apk安装到机器上。
安装成功,返回成功提示 “Success”;
安装失败,会返回以下:
INSTALL_FAILED_ALREADY_EXISTS
此时需要用 -r 参数来重新安装。
INSTALL_FAILED_SIGNATURE_ERROR
应用的签名不一致,可能是发布版和调试版签名不同所致。也有可能是没卸载旧应用导致。
INSTALL_FAILED_INSUFFICIENT_STORAGE
存储空间不足,需要检查设备存储情况。
- 进入到手机的内核
adb shell
- 获取手机系统版本号 例如5.1
adb shell getprop ro.build.version.release
- 获取手机系统版本号 例如22
adb shell getprop ro.build.version.sdk
- 屏幕分辨率
adb shell wm size
ps: Physical size: 900x1600
- 将文件推入手机
adb push [local地址] [remote地址]
- 从手机中拉取文件
adb pull [remote地址] [local地址]
- 查看手机Feature 支持
adb shell pm list features
查看日志
- 显示全部日志信息 (Windows下:ctrl+c来停止日志输出)
adb logcat
一. logcat [options] [filterspecs]
例:adb logcat -v brief *:E >D:log.txt
options:显示方式选项
介绍下用得比较多的选项-v、-c:
(1)adb logcat -v
-v是设置日志的输出格式的,日志支持按以下几种格式 :
- brief 默认格式
<priority>/<tag>(<pid>): <message>
D/HeadsetStateMachine( 1785): Disconnected process message: 10, size: 0
- time 时间优先格式
<datetime> <priority>/<tag>(<pid>): <message>
08-28 22:39:39.974 D/HeadsetStateMachine( 1785): Disconnected process message: 10, size: 0
- long 进程:线程格式
<datetime> <pid>:<tid> <priority>/<tag>
08-28 22:39:39.974 1785: 1832 D/HeadsetStateMachine Disconnected process message: 1
(2)adb logcat -c
adb logcat -c是用来清除当前之前的缓存信息,这个没有参数
二. filterspecs:级别过滤项 (tag:priority)
- tag
表示标签 TAG 通常 * 表示不筛选该标签项 - priority
Android 的日志分为如下几个优先级(priority):
V —— Verbose(最低,输出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error (通常用这个)
F —— Fatal
S —— Silent(最高,啥也不输出)
例: adb logcat ActivityManager:I MyApp:D *:S
表示输出 tag ActivityManager 的 Info 以上级别日志,输出 tag MyApp 的 Debug 以上级别日志,及其它 tag 的 Silent 级别日志(即屏蔽其它 tag 日志)。
三. “> localPath”
将日志输出到本地localPath位置
例: >D:log.txt
输出到D盘目录下,文件名和文件类型为log.txt
adb shell logcat -v time |findstr “4538 2532”
查找含有4538或者2175的文本,可用来查找指定进程