手机测试之-adb

一、 Android Debug Bridge

1.1 Android系统主要的目录

1.2 ADB工具介绍

ADB的全称为Android Debug Bridge,就是起到调试桥的作用,是Android SDK里面一个多用途调试工具,通过它可以和Android设备或模拟器通信,借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等。其实简而言说adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。

1.3 ADB基本命令介绍

1、查看设备 adb devices

adb devices这个命令是查看当前连接的设备,连接到计算机的Android设备或者模拟器将会列出显示

ü device: 表示找到设备并与adb连接上

ü no device: 表示当前没有模拟器在运行,或没有找到任何设备

ü offline: 表示设备或模拟器没有与adb相连或没有响应

说明:

(1) 如果出现多个device时,说明当前有多个设备或模拟器在运行,此时使用adb时,需要用-s指定一个目标设备

(2) adb devices没有显示连接设备,可以使用一下命令

ü adb kill-server

ü adb start-server

ü adb connect 127.0.0.1:7555 连接MuMu模拟器

2、查看adb版本及设备信息

adb version 获取adb版本

adb get-serialno 获取设备的序列号

adb get-state 获取模拟器/设备的当前状态

3、安装软件 adb install + 安装包路径

adb install D:\android\com.zmhj.hehe.apk

说明: apk文件安装后临时存储在/data/local/tmp目录中

4、卸载软件 adb uninstall 文件名

adb uninstall com.zmhj.hehe

说明:

(1) 如果加-k参数,为卸载软件但是保留配置和缓存文件

(2) 应用安装目录在/data/data 例如:com.ulang.jjk

(2)包名编写规范:全小写字母,多层之间点分隔

ü 使用公司域名倒着写,后加应用名,达到:全球唯一

ü 比如:百度App 包名:com.baidu.mm

ü 比如:达内App 包名:cn.tedu.mm

l 扩展:获取安装包对应的包名?

ü adb shell pm list packages

ü adb shell pm list packages 软件名

ü aapt dump badging D:\android\com.zmhj.hehe.apk

5、从电脑上发送文件到设备 adb push 本地路径 远程路径

用push命令可以把本机电脑上的文件或者文件夹复制到设备

adb push D:\android\com.ulang.jjk.apk /data/

说明:adb可以使用选项,挑选使用某设备,常用选项?(面试题)

ü adb -d push ... 针对唯一的真机(USB数据线和PC连接) device

ü adb -e push ... 针对唯一的模拟器 emulator

ü adb -s 设备id push ...通过设备id指定具体设备 真机或模拟器

6、从设备上下载文件到电脑 adb pull 远程路径 本地路径

用pull命令可以把设备上的文件或者文件夹复制到本机电脑

adb pull /data/com.ulang.jjk.apk D:\test_apk

说明:需要在D盘下创建一个文件夹test_apk

7、在命令行中查看log信息 adb logcat

adb logcat,表示实时抓取整个手机的log信息,ctrl+c结束命令行

adb logcat [option] [filter-spec]

案例:实时持续跟踪日志并返回PC端显示,不停止

adb logcat

案例:一次读取当前日志并返回PC端显示,停止

adb logcat -d

案例:将实时抓取log信息并保存到本地log.txt文件

adb logcat > D:\logcat0.txt

案例:获取的log.txt文件中加上时间信息

adb logcat -v time > D:\logcat1.txt

案例:获取网络射频信息

adb logcat -b radio > D:\logcat2.txt

案例:获取事件消息

adb logcat -b events > D:\logcat3.txt

案例:获取log信息加上时间,显示缓冲区以及电话和系统相关的日志

adb logcat -v time -b main -b radio -b system > logcat4.txt

技巧:查看命令的帮助手册

adb logcat -help

案例:获取级别不低于E的日志,保存在D:\logcat5.txt

adb logcat -d *:E > D:\logcat5.txt


8、进入设备或模拟器的adb shell

根据日志进行分析,寻找问题:根据crash(崩溃、闪退)、anr(应用无响应)、exception(异常)、error(错误)作为线索搜索日志,找到对应进程id、包名、相对位置,根据日志查看和分析测试中隐含的、容易遗漏的、底层的缺陷。

adb命令是adb这个程序自己的命令

adb shell是Android系统自带的命令,都保存在Android系统的/system/bin目录下,命令文件本质是shell脚本

(1)查看设备系统全部进程

adb shell ps

(2)过滤进程

abd shell ps | findstr 2588

(3)查看CPU硬件的相关信息

adb shell cat /proc/cpuinfo

(4)查看内存的相关信息

adb shell cat /proc/meminfo

(5)查看I/O内存分区的相关信息

adb shell cat /proc/iomem

(6)获取手机型号

adb shell cat /system/bulid.prop | findstr "ro.product.model"

(7)获取电池电量的相关信息

adb shell dumpsys battery

(8)获取某个app的cpu占用情况

adb shell dumpsys cpuinfo | grep hehe

(9)包管理工具,获取安装包列表

adb shell pm list packages

(10)实时刷新查看Android系统的性能情况

adb shell top

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
TheNextByte11 天前
如何从红米手机恢复已删除的音乐文件?
智能手机
牛客企业服务1 天前
AI面试选型策略:9大维度避坑指南
人工智能·面试·职场和发展
千里马学框架1 天前
重学SurfaceFlinger之Layer显示区域bounds计算剖析
android·智能手机·sf·安卓framework开发·layer·surfaceflinger·车载开发
专业开发者1 天前
一款可穿戴设备如何同时与多部智能手机或平板电脑建立连接
物联网·智能手机·电脑
a程序小傲1 天前
京东Java面试被问:Fork/Join框架的使用场景
java·开发语言·后端·postgresql·面试·职场和发展
H1001 天前
从编程语言到办公语言
程序人生
华清远见成都中心1 天前
嵌入式工程师技术面试有哪些注意事项?
面试·职场和发展
沐雪架构师1 天前
大模型Agent面试精选15题(第三辑)LangChain框架与Agent开发的高频面试题
面试·职场和发展
YoungHong19921 天前
面试经典150题[074]:填充每个节点的下一个右侧节点指针 II(LeetCode 117)
leetcode·面试·职场和发展
元亓亓亓1 天前
LeetCode热题100--763. 划分字母区间--中等
算法·leetcode·职场和发展