背景
1.关于ADB
ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备。
ADB—Andorid Debug Bridge,它其实是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。在某些特殊的情况下进入不了系统,adb就派上用场啦!
我面临的使用场景:覆盖率数据不接受debug测试包的数据上报,所以我必须使用release包测试。拿到一个release包如何查看日志呢?这个时候就驱动我去学习adb了。
2.ADB用法大全
https://github.com/mzlogin/awesome-adb
安装
1.测试是否安装
输入以下命令,查看adb的版本:
1 | adb version |
如果出现类似下面的情况,证明已经安装了:
2.安装
详细参考简书猿二胖,具体链接为https://www.jianshu.com/p/229dbd25b661
我是直接使用下面的命令,然后检测是否安装成功即可:
1 | brew cask install android-platform-tools |
命令
1.查看连接的设备
1 | adb devices |
2.安装apk
1 | adb install <Mac上apk的路径> |
Mac上获取apk路径的小技巧:直接将一个apk文件拖到终端,终端就会出现apk的路径
3.卸载apk
1 | adb uninstall <包名> |
4.获取包名
查看所有app的包名
1 | adb shell pm list packages |
查看所有系统app的包名
1 | adb shell pm list packages -s |
查看所有第三方app的包名
1 | adb shell pm list packages -3 |
使用grep过滤查看满足要求的app包名
1 | adb shell pm list packages | grep <条件> |
5.清除应用数据
1 | adb shell pm clear |
当你只是想要清除一个apk的某些数据来复现某些操作的时候,这个命令就显得尤为重要。它可以避免我们重装apk来完成这个操作。
6.查看日志
打印 Android 的系统日志
1 | adb logcat |
清除日志
1 | adb logcat -c |
过滤日志
1 | adb logcat | grep "tag" |
这里的tag就是你打日志的时候需要设置的第一个参数TAG,通过TAG我们可以很轻松的过滤出我们想要的日志,轻松高效。
7.查看设备信息
① 查看序列号
1 | adb get-serialno |
② 查看Mac地址(需要权限)
1 | adb shell cat /sys/class/net/wlan0/address |
③ 查看设备型号
1 | adb shell getprop ro.product.model |
④ 查看设备的android版本
1 | adb shell getprop ro.build.version.release |
⑤ 查看屏幕分辨率
1 | adb shell wm size |
⑥ 查看屏幕密度
1 | adb shell wm density |
ADB IDEA
AS 插件 ADB IDEA ,装了这款插件可以直接在 AS 中快速操作一些 ADB 命令。
使用方式:
① 双击shift->点击action->搜索adb
② Ctrl + Shift + A,快捷键直接调用