Android调试时常用的adb命令
1、adb shell am
am是Activity Manager的缩写,使用此命令可以从控制台启动Activity、Service,打开或关闭进程,发送广播等
//打开相机
eg: adb shell am start -n com.android.camera/.Camera
//启动Service
eg: adb shell am startservice com.android.app2/.service.MyService
2、adb shell pm
pm是Package Manager的缩写,此命令主要用于获取和安装在Android设备上的应用信息。
//列出所有应用
eg: adb shell pm list package
//列出第三方应用
eg: adb shell pm list package -3
//列出所有测试包
eg: adb shell pm list instrumentation
//打印系统信息(指定包名)
eg: adb shell pm dump packageName
//安装应用
eg: adb shell pm install ××/.../××.apk
//卸载应用
eg: adb shell pm uninstall packageName
3、adb shell dumpsys
该命令可以查询系统服务的运行状态
//查询AMS服务相关的信息
eg: adb shell dumpsys activity
//查询WMS服务相关的信息
eg: adb shell dumpsys window
//查询CPU情况
eg: adb shell dumpsys cpuinfo
//查询内存情况
eg: adb shell dumpsys meminfo
//查询某个App所有的Service状态
eg: adb shell dumpsys activity s com.android.app2
//查询某个App所有的广播状态
eg: adb shell dumpsys activity b com.android.app2
//查询某个App所有的Activity状态
eg: adb shell dumpsys activity a com.android.app2
//查询某个App的进程状态
eg: adb shell dumpsys activity p com.android.app2
//当前界面app状态
eg: adb shell dumpsys activity top
//查看进程状态
eg: adb shell dumpsys activity oom
adb logcat
选项解析 :
– "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;
–"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
–"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
–"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
–"-v"选项 : 设置日志的输出格式, 注意只能设置一项;
–"-c"选项 : 清空所有的日志缓存信息;
–"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
–"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
–"-g"选项 : 查看日志缓冲区信息;
–"-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;
–"-B"选项 : 以二进制形式输出日志;
4、adb logcat -b events/radio/main/system/
加载指定日志缓冲区, 默认是 main
5、adb logcat -b all
加载所有日志缓冲区
6、adb logcat -b events -v time > ./all.log
设置logcat的输出格式为time,并输出到文件all.log
7、adb logcat -s TAG
设置输出日志的标签, 只显示该标签的日志
//查看TAG为MainActivity和InternetActivity的日志
eg: adb logcat -s MainActivity InternetActivity