debugAndroid收藏集Android进阶

常用adb命令汇总

2018-02-10  本文已影响34人  wanderingGuy

本文汇总了开发中常用的adb命令,熟悉这些命令在某些场景会极大的提高开发效率,绝对的干货。文中所有参数以$开头,实际使用时替换为真正参数即可。

一、启动/关闭类

1.启 动activity
1.1 隐式action方式:
adb shell am start -a ${your_action_name}
1.2 显示activity方式:
adb shell am start -n ${your_package_name}/${your_activity_name}

显式(-n)与隐式(-a)的指令也适用于服务和广播。

1.3 添加启动参数:

如果要添加启动参数则在以上命令后面继续添加如下配置:
string 类型: --es ${paramter_key} ${value}
int 类型: --ei ${paramter_key} ${value}
boolean类型: --ez ${paramter_key} ${value}

多个参数以空格分隔,其他参数类型可自行google查阅,此方式也适用于service和广播,举个栗子

adb shell am start -a com.xxxx.business.action --es name 'zhangsan' --ei age 18
2.发送广播
adb shell am broadcast -a ${broad_action_name}
3.启动服务
adb shell am startservice -n ${your_package_name}/${your_service_name}
//停止服务
adb shell am stopservice -n ${your_package_name}/${your_service_name}
4.启动安装应用对话框
adb shell am start -a android.intent.action.VIEW -d ${your_apk_file_absolute_path} -t application/vnd.android.package-archive
比如路径是sdcard 则参数可为 file:///sdcard/test.apk
5.强制退出进程
adb shell am force-stop ${your_package_name}

二、调试类

1.打开/关闭布局边界

简直是调整UI问题的神器啊有木有

//打开
adb shell setprop debug.layout true 
//关闭
adb shell setprop debug.layout false
2.切换window大小和density

做适配的时候太常用了,根本不用拿着那么多机器调试,但是前提是只能调低而不能调高,因此选择一款分辨率最高的机器测试就好了。

//调整屏幕分辨率
adb shell wm size 1920x1080
//调整density
adb shell wm density 240
3.截图

你是不是觉得AS里的一个按钮已经很好用了,我还是觉得太麻烦,而且最新的AS3.0已经不支持4.4及以前的机型了。所以干脆来个脚本吧,相当给力。

#!/bin/sh
#截图
ls_date=`date +%Y%m%d%H%M%S`
//截图
adb shell /system/bin/screencap -p /sdcard/screenshot_${ls_date}.png
#从SD卡导出到本机当前目录
adb pull /sdcard/screenshot_${ls_date}.png .
4.抓log

这就属于常规操作了,基本上都会吧,我常用的配置如下

//线程、进程名称在涉及到多应用间调试是很关键的信息
adb logcat -v threadtime > log_xxxx.txt
4.检查服务存活性

不用说,一行命令打印service是否存活对调试而言简直不能更方便

加上|grep可支持模糊查询
adb shell dumpsys activity services |grep ${your_service_name}
5.打印activity stack情况

有了这个命令,你还担心透明的activity嘛,打印出的信息已经涵盖了所有stack 及其task及其中activity的所有状态信息。另外dumpsys 指令相当强大,还能打印cpu、battery等硬件的信息。

adb shell dumpsys activity activities

由此命令再加上一个参数可直接打印顶层activity名称

adb shell dumpsys activity | grep mFocusedActivity
6.打印window情况

同activity类似

adb shell dumpsys window -w

由此命令再加上一个参数可直接打印顶层activity名称

adb shell dumpsys activity | grep mFocusedActivity
7.清除全部应用数据
adb shell pm clear ${your_package_name}
8.打印apk包信息

如果apk未安装

aapt dump badging ${your_apk_file_path}

如果已经安装

adb shell dumpsys package ${your_package_name}
9.打印manifest内容
aapt dump xmltree ${your_apk_file_path} AndroidManifest.xml
10.杀死执行包名的进程
adb shell am force-stop ${your_package_name} 
11.打印设置所有属性信息,这些信息在system/build.prop文件中
adb shell getprop

三、性能优化

1.GPU渲染时间,帧率的重要指标
adb shell setprop debug.hwui.profile visual_bars (柱形图)
adb shell setprop debug.hwui.profile visual_lines (折线图)
2.过渡绘制
//执行完后需要杀死进程重启
adb shell setprop debug.hwui.overdraw show
3.打印内存信息
adb shell procrank|grep ${your_package_name}
adb shell dumpsys meminfo ${your_package_name}(更详细一些)
上一篇下一篇

猜你喜欢

热点阅读