背景

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

如果出现类似下面的情况,证明已经安装了:

img

2.安装

详细参考简书猿二胖,具体链接为https://www.jianshu.com/p/229dbd25b661

我是直接使用下面的命令,然后检测是否安装成功即可:

1
brew cask install android-platform-tools

命令

1.查看连接的设备

1
adb devices

img

2.安装apk

1
adb install <Mac上apk的路径>

img

Mac上获取apk路径的小技巧:直接将一个apk文件拖到终端,终端就会出现apk的路径

3.卸载apk

1
adb uninstall <包名>

img

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 <条件>

img

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我们可以很轻松的过滤出我们想要的日志,轻松高效。

img

7.查看设备信息

① 查看序列号

1
adb get-serialno

img

② 查看Mac地址(需要权限)

1
adb shell cat /sys/class/net/wlan0/address

img

③ 查看设备型号

1
adb shell getprop ro.product.model

img

④ 查看设备的android版本

1
adb shell getprop ro.build.version.release

img

⑤ 查看屏幕分辨率

1
adb shell wm size

img

⑥ 查看屏幕密度

1
adb shell wm density

img

ADB IDEA

AS 插件 ADB IDEA ,装了这款插件可以直接在 AS 中快速操作一些 ADB 命令。

使用方式:

① 双击shift->点击action->搜索adb

img

② Ctrl + Shift + A,快捷键直接调用

img