常用adb命令汇总(绝对干货)

常用adb命令汇总(绝对干货)显式(-n)与隐式(-a)的指令也适用于服务和广播。 做适配的时候太常用了,根本不用拿着那么多机器调试,但是前提是只能调低而不能调高,因此选择一款分辨率最高的机器测试就好了。 你是不是觉得AS里的一个按钮已经很好用了,我还是觉得太麻烦,而且最新的AS3.0已经不支持4.4及以前…

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

###一、启动/关闭类

  1. 启动activity

隐式action方式:

adb shell am start -a ${your_action_name}

显示activity方式:

adb shell am start -n ${your_package_name}/${your_activity_name}

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

  1. 添加启动参数

如果要添加启动参数则在以上命令后面继续添加如下配置:

  • string 类型: --es ${paramterkey} ${value}
  • int 类型: --ei ${paramterkey} ${value}
  • boolean类型: --ez ${paramter_key} ${value} 多个参数以空格分隔,其他参数类型可自行google查阅,此方式也适用于service和广播,举个栗子
adb shell am start -a com.xxxx.business.action --es name 'zhangsan' --ei age 18
  1. 发送广播
adb shell am broadcast -a ${broad_action_name}
  1. 启动服务
adb shell am startservice -n ${your_package_name}/${your_service_name}
//停止服务
adb shell am stopservice -n ${your_package_name}/${your_service_name}
  1. 启动安装应用对话框
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
  1. 强制退出进程
adb shell am force-stop ${your_package_name}

###二、调试类

  1. 打开/关闭布局边界,简直是调整UI问题的神器啊有木有
//打开
adb shell setprop debug.layout true 
//关闭
adb shell setprop debug.layout false
  1. 切换window大小和density 做适配的时候太常用了,根本不用拿着那么多机器调试,但是前提是只能调低而不能调高,因此选择一款分辨率最高的机器测试就好了。
//调整屏幕分辨率
adb shell wm size 1920x1080
//调整density
adb shell wm density 240
  1. 截图 你是不是觉得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 .
  1. 抓log 这就属于常规操作了,基本上都会吧,我常用的配置如下
//线程、进程名称在涉及到多应用间调试是很关键的信息
adb logcat -v threadtime > log_xxxx.txt
  1. 检查服务存活性 不用说,一行命令打印service是否存活对调试而言简直不能更方便
加上|grep可支持模糊查询
adb shell dumpsys activity services |grep ${your_service_name}
  1. 打印activity stack情况 有了这个命令,你还担心透明的activity嘛,打印出的信息已经涵盖了所有stack 及其task及其中activity的所有状态信息。另外dumpsys 指令相当强大,还能打印cpu、battery等硬件的信息。
adb shell dumpsys activity activities

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

adb shell dumpsys activity | grep mFocusedActivity
  1. 打印window情况 同activity类似
adb shell dumpsys window -w

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

adb shell dumpsys activity | grep mFocusedActivity
  1. 清除全部应用数据
adb shell pm clear ${your_package_name}
  1. 打印apk包信息 如果apk未安装
aapt dump badging ${your_apk_file_path}

如果已经安装

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

三、性能优化

  1. GPU呈现模式,帧率的重要指标
adb shell setprop debug.hwui.profile visual_bars (柱形图)
adb shell setprop debug.hwui.profile visual_lines (折线图)
  1. 过渡绘制
//执行完后需要杀死进程重启
adb shell setprop debug.hwui.overdraw show
//关闭过度绘制 重新打开界面生效
adb shell setprop debug.hwui.overdraw false 
  1. 打印内存信息
adb shell procrank|grep ${your_package_name}
adb shell dumpsys meminfo ${your_package_name}(更详细一些)
  1. activty启动时间
adb shell am start -W ${your_package_name}/${your_activity_name}

今天的文章常用adb命令汇总(绝对干货)分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/17626.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注