腾讯HR:你对adb有多少理解? 看了后,直接拿到offer

ADB是什么

adb(全称Android Debug Bridge):Android调试桥梁。用来协助相关人员更快更好的调试apk,adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能。

Mac安装adb 1、安装homebrew:ruby -e "$(curl -fsSL raw.githubusercontent.com/Homebrew/in…)"

2、安装adb:brew cask install android-platform-tools

3、运行adb: adb devices

ADB架构

ADB是一个C/S架构的应用程序,由三部分组成:

  1. 运行在pc端的adb client:
    命令行程序"adb"用于从shell或脚本中运行adb命令。首先,"adb"程序尝试定位主机上的ADB服务器,如果找不到adb服务器,"adb"程序自动启动一个ADB服务器。接下来,当设备的adbd和pc端的ADB server建立连接后,adb client就可以向ADB server发送服务请求;(1140267353)群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!
  2. 运行在pc端的adb server:
    ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,ADB Server还需要将adb client的请求通过usb或者tcp的方式发送到对应的adbd上;
  3. 运行在设备端的常驻进程adb demon(adbd):
    程序"adbd"作为一个后台进程在Android设备或者模拟器系统中运行。它的作用是连接ADB服务器,并且为运行在主机上的客户端提供一些服务;

 

腾讯HR:你对adb有多少理解? 看了后,直接拿到offer_第1张图片

 

 

ADB基本用法

adb能做什么? 答案是所有能对手机的操作都能用adb实现。

adb命令的基本语法如下: adb [-d|-e|-s ]

单一设备/模拟器连接

如果只有一个设备/模拟器连接时,可以省略掉[-d|-e|-s ] 这一部分,直接使用adb

多个设备/模拟器连接

如果有多个设备/模拟器连接,则需要为命令指定目标设备,下表是指定目标设备的命令选项:

参数 含义
-d 指定当前唯一通过USB连接的Android设备为命令目标
-e 指定当前唯一运行的模拟器为命令目标
-s 指定相应设备序列号的设备/模拟器为命令目标

adb shell

Android的内核本身就是Linux,所以Android本身也支持Linux命令。 在手机中执行Shell命令,每次都加上adb shell来进行命令的发送和执行。

Android性能统计dumpsys

用途 命令
获取所有的dumpsys子命令 dumpsys
获取当前activity adb shell dumpsys activity top
获取activities的记录,可以获取到appium依赖的原始activity dumpsys activity activities
获取特定包基本信息 adb shell dumpsys package XXX
获取系统通知 adb shell dumpsys notification
获取内存信息 adb shell dumpsys meminfo com.android.settings
获取cpu信息 adb shell dumpsys cpuinfo
获取gpu绘制分析 adb shell dumpsys gfxinfo com.android.settings
获取短信 adb shell dumpsys activity broadcasts

uiautomator(1140267353)群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

  • adb shell uiautomator runtest ...
  • adb shell uiautomator dump

adb常用命令

用途 命令
查看adb的版本信息 adb version
启动adb服务 adb start-server
停止adb服务 adb kill-server
查询已连接的设备/模拟器列表 adb devices
指定adb server的网络端口 adb -P start-server,adb的默认端口为:5037
以root权限运行adbd adb root

Activity Manager

用途 命令
获得应用的启动时间 adb shell am start -W/.
启动activity adb shell am start -n/.
杀掉APP adb shell am force-stop

dump

用途 命令
查看版本号 adb shell dumpsys package com.youxiang.soyoungapp
获取系统数据 adb shell dumpsys

Package Manager

用途 命令
安装应用 adb install
直接安装应用 adb install test.apk
覆盖安装 adb install -r test.apk
卸载应用 adb uninstall
直接卸载 adb uninstall test.apk
保留数据卸载 adb uninstall -k test.apk
打印apk路径 adb shell pm path
清除应用缓存 adb shll pm clear

File Manager

用途 命令
从Android设备下载文件到pc adb pull [local] adb pull /sdcard/test.png c:\user
把pc文件放到Android设备 adb push
列出目录内容 adb shell ls [option]
进入文件夹 adb shell cd
删除文件或目录 adb shell rm [options]
创建文件夹 adb shell mkdir[options]
复制文件 adb shell cp [options]
移动或者更名文件 adb shell mv [options]
让Android脱离USB线的TCP连接方式 adb tcpip
连接开启了TCP连接方式的手机 adb connect
Android日志查看 adb logcat
收集日志数据,用于后续的分析,比如耗电量 adb bugreport

Logcat

用途 命令
打印日志文件 adb logcat [options] [filter-specs]

Screenshot

用途 命令
截图保存为test.png adb shell screencap /sdcard/test.png
录屏保存为test.mp4 adb shell screencord /sdcard/test.mp4

设备管理连接

USB 连接(1140267353)群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

通过 USB 连接来正常使用 adb 需要以下步骤:

  1. 确认硬件状态正常(包括 Android 设备处于正常开机状态,USB 连接线和各种接口完好)。
  2. Android 设备的开发者选项和 USB 调试模式已开启(可以在「设置」-「开发者选项」-「USB调试」打开USB调试)。
  3. 确认设备驱动状态正常(安装ADB驱动程序)。
  4. 通过 USB 线连接好电脑和设备后确认状态。
  5. 通过 adb devices 命令查看设备连接情况。

WLAN 连接(需要 USB 线)

借助 USB 通过 WiFi 连接来正常使用 adb 需要以下步骤:

  1. 将 Android 设备与要运行 adb 的电脑连接到同一个 WiFi。
  2. 将设备与电脑通过 USB 线连接(可通过 adb devices 命令查看设备连接情况)。
  3. 通过 adb tcpip 5555 命令让设备在 5555 端口监听 TCP/IP 连接。
  4. 断开 USB 连接。
  5. 找到设备的 IP 地址(可以在「设置」-「关于手机」-「状态信息」-「IP地址」查看 IP 地址)。
  6. 通过 adb connect 命令使用 IP 地址将 Android 设备与电脑连接。
  7. 通过 adb devices 命令查看设备连接情况。
  8. 使用完毕后可通过 adb disconnect 命令断开无线连接。

WLAN 连接(无需借助 USB 线)

注:需要 root 权限。不借助 USB 通过 WiFi 连接来正常使用 adb 需要以下步骤:

  1. 在 Android 设备上安装一个终端模拟器(可通过Terminal Emulator for Android Downloads下载)。
  2. 将 Android 设备与要运行 adb 的电脑连接到同一个 WiFi。
  3. 打开 Android 设备上的终端模拟器,在里面依次运行命令:
su
setprop service.adb.tcp.port 5555
复制代码
  1. 找到设备的 IP 地址(可以在「设置」-「关于手机」-「状态信息」-「IP地址」查看 IP 地址)。
  2. 通过 adb connect 命令使用 IP 地址将 Android 设备与电脑连接。
  3. 通过 adb devices 命令查看设备连接情况。

WiFi 连接转为 USB 连接

通过adb usb命令以USB模式重新启动ADB:

最后

俺叫小枫,一个成天想着一夜暴富的测试员

1140267353)一起成长一起加油的伙伴群!软件测试,与你同行!
群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

点赞关注不迷路!!!【三连ღ】,有问题也可私聊哟~(*╹▽╹*)

你可能感兴趣的:(adb命令,性能框架,软件测试,android,python,linux)