adb

一、adb简介

        ADB是Android-Sdk里的一个客户端-服务器端程序,其中客户端是我们操作的电脑, 服务器端是Android设备,它的全称为Android Debug Bridge,就是起到调试桥的作用。通过这个桥我们可以管理设备或手机模拟器的状态,还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。简而言之,ADB就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。

注:通熟易懂的说就是通过adb来控制安卓手机,类似于手机上的开发者工具

二、adb的安装

1、adb属于无脑安装,可以选择指定的盘符

2、配置环境变量:将adb的安装目录加入Path环境变量中

3、验证环境变量是否配置成功

在cmd中输入adb,有反应则说明配置成功

三、使用adb连接手机

有两种方式能实现连接:有线连接和无线连接

注意:①、不管是有线还是无线,都需要先打开手机的开发者模式,然后使用USB线,将手机和电脑连接。

②、必须一直保持手机和电脑的连接状态,即不能把usb线拔了

3.1、有线连接

1、使用USB线连接手机和电脑

2、在手机上启动开发者模式,并且打开USB调试功能

           

3、在cmd中输入adb devices检查手机和adb是否连接成功 

 

 出现了唯一设备号和device则连接成功,若出现设备号   unauthorized则是未授权的意思,可以关闭开发者模式重新来一遍注意授权

连接成功之后就可以通过在cmd中输入命令的模式对手机为所欲为。

3.2、无线连接

1、使用USB线连接手机和电脑

2、在手机上启动开发者模式,并且打开USB调试功能

3、保证手机和电脑处于同一局域网内

4、查看手机局域网IP:

在cmd中输入:adb shell netcfg

5:启用手机远程服务并连接

①、启用并设置端口号:

在cmd中输入:adb tcpip 端口号(随便写,例如5555)

②、连接adb服务:

在cmd中输入:adb connect 手机局域网IP:端口号

6:检查是否连接成功
在cmd中输入adb devices,出现设备名称,则连接成功,反之

四、adb的常用命令

1、从电脑上给手机上装软件:adb install 安装包名 (可以从桌面上直接拖过来)

2、从电脑上卸载手机上的软件:adb uninstall 软件名(需要从adb shell中获取软件名)

如果要知道软件的名字,需要在adb shell里边获取:adb shell-->pm list packages,筛选出自己安装的第三方软件:pm list packages -3

注:也可以直接写成:adb shell pm list packages

adb shell的作用就是在安卓手机上开启服务器,输入adb shell就可以进入Linux环境下

安卓手机操作系统的内核实际上是Linux操作系统,所以其实可以在安卓手机上搭建测试环境(淘汰的安卓手机不要丢,可以用来做服务器用)

adb shell就和操作Linux系统类似了,大家基本命令都是可以通用的,adb不支持ll,只支持ls

卸载安装软件都需要退出shell:exit

3、传输文件(需要退出shell):

adb push 文件名 路径  电脑上的文件传到手机里边

adb pull 文件名 路径  手机里的文件传到电脑里边(Windows的根目录不可用)

4、查看APP日志(退出shell):adb logcat > d:\日志.txt(需要截止时强制退出:Ctrl+C,给存到d盘的一个文件里边,这个文件就叫做日志.txt)

日志一般来说我们都是看不懂的,可根据关键词查看APP是否有较大问题:

  • ANR:程序无响应
  • CRASH:APP崩溃
  • Exception:APP代码报错

5、adb shell的命令,和Linux命令大体是互通的

ps -ef:可以看到现在正在运行哪些程序

top:可以实时的看到CPU,内存MEM的变化

6、其他

adb get-product:获取设备的ID号
adb help:获取帮助信息
adb get-serialno:获取设备的序列号
adb start-serve:启动adb服务
adb version:查看adb版本号
adb kill-server:关闭adb服务

adb devices:查看当前连接电脑的设备,安卓设备或者模拟器会被显示出来

五、adb使用场景

5.1、获取包名

①获取设备所有的安装包

adb shell pm list packages (查看所有包)
adb shell pm list package -3(查看第三方的包)

②获取要监控的app的包名

cmd输入:adb shell am monitor,回车后再手机启动该app,这时包名会显示在cmd最后一行

5.2、资源监控

①内存和CPU监控:top -d 1 | grep 包名

②电量监控:adb shell dumpsys battery

③流量监控:

获取进程指定进程id:adb shell “ps | grep 包名 ”

获取进程id流程:adb shell cat /proc/查询出来的pid/net/dev

5.3、日志捕获

adb logcat > d:\info.txt

5.4、稳定性测试

https://www.jianshu.com/p/cb0cee9a22f1

https://www.cnblogs.com/yindada/p/9845032.html

对指定包进行随机测试并输出日志到文件 adb shell monkey -p com.zhihu.android -vvv 200 > d:\info.txt

测试结果分析:

a、程序无响应,ANR问题:在日志中搜索“ANR”

b、崩溃问题:在日志中搜索“CRASH”

c、其他问题:在日志中搜索”Exception”

 

 

posted @ 2020-10-30 15:48  一个名  阅读(907)  评论(0编辑  收藏  举报