Android开发中常用adb命令 【工具系列】

350 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情

本文章会持续总结,可能会总结到多年以后,建议收藏

常用命令

查看最前 Activity

有时接到需求,需要改某个页面的展示,这是可以通过 adb dumpsys 的命令查看当前页面是哪个 Activity。 这种方式查找比全局搜索代码中的关键字要快速准确的多。

adb -s `adb devices |sed -n "2,1p" |awk  '{print $1}'`  shell dumpsys activity activities|grep -aiE "mFocused"

获得最近连接的设备的id

当有多个设备时,一般的流程可能是 先使用 adb devices 查看下连接的设备的 id,然后在新命令中加上 -s device_id 来指定设备。

adb -s `adb devices |sed -n "2,1p" |awk '{print $1}'` {输入你想使用的命令}

命令中的 adb devices |sed -n "2,1p" |awk '{print $1}' 是找最近连接到电脑上的 android 机 id。

查看APP占用内存情况

adb shell dumpsys meminfo  {package_name}

这个命令输出信息非常多, 可以查看内存是否泄漏。页面关闭时 Activity 的数量是否减少,如果没有减少可能是发生内存泄漏了。这个命令一般也可以用于跑 Monkey 测试。每隔一段时间打印下内存占用情况从而进行优化。

image.png

还可以查看 App 的基本信息,比如有多少个数据库

image.png

查询耗电情况

当APP在后台大量耗电时,系统可能弹窗告知用户某个APP有耗电行为,有可能会引起用户投诉或者直接卸载。 所以需要统计耗电情况

adb shell dumpsys batterystats > battery.txt

安装

adb install {apk.path}

卸载

adb uninstall {package_name}

清理数据

当测试用户登录或者隐私协议等场景或者初始化场景,需要将APP缓存删掉。 普通方法是在手机上进入设置页面找到对应的APP,然后点击删除数据进行删除。找起来比较麻烦,不同手机的操作路径不同可能又加剧了这种麻烦。 所以这时可以使用命令进行快捷清理

adb shell pm clear {package_name}

deeplink

测试 deeplink 时也可以使用 am start命令来测试多种数据组合下的展示逻辑。

adb shell am start -a "android.intent.action.VIEW" -d 'scheme://host/path?key1=value1&key2=value2'

日志

日志过滤

adb logcat | grep -aiE "filter"

日志保存

adb logcat -d > my.log

快速输入

同事通过电脑发过来一大段话需要输入到手机中,你可以自己手动敲,或者在测试手机上也装上微信,然后转发到手机微信上,再复制黏贴到输入框中。也可以使用下面命令 1 秒钟输入完成

adb shell input text {text}

其他

还有十几种命令尚未整理,困了,以后补上。

最后

有问题请指正,谢谢