手机测试之-adb

news2024/10/5 16:24:55

一、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,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1630905.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

艾体宝案例 | 使用Redis和Spring Ai构建rag应用程序

随着AI技术的不断进步,开发者面临着如何有效利用现有工具和技术来加速开发过程的挑战。Redis与Spring AI的结合为Java开发者提供了一个强大的平台,以便快速构建并部署响应式AI应用。探索这一整合如何通过简化的开发流程,让开发者能够更专注于…

python——井字棋游戏——登入注册界面

本篇文章只讲解登入和注册页面,在后面的文章中会讲解井字棋游戏,然后把井字棋和登入界面进行连接,整合成一个完整的游戏。 登入注册界面在本篇文章的末尾。 1.实现登入界面 (1)导入图片 把这张图片存储在与代码路径…

小程序的合同是怎么样写的

​很多商家找第三方做小程序都遭遇到了各种问题,如访问速度慢、服务器关闭、反复收费等。如果当初商家找的是正规的第三方服务商,双方签订了明确的合同条款,出现任何问题后,相信都能够进行解决。下面将具体介绍合同内容&#xff0…

面试高频:什么情况下要用到缓存?如何应对缓存穿透、击穿及雪崩?

一、为什么要使用内存数据库? 我们先来看一下以往单体的Web系统架构图是什么样的: 从图中可以看出,早期的单体架构基本上是以业务为导向,同时用户群体不是很大,这种单体的架构基本上可以应付大多数使用场景。但随着互…

Springboot+Vue项目-基于Java+MySQL的商业辅助决策系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

数据分析:生存分析原理和应用实例

介绍 生存分析的目的是分析某个时间点的“生存概率”是多少。基于这样的研究目的,需要提供生存数据,它是一种由不同的开始时间和结束时间组成的事件-时间的数据,比如在癌症研究领域,研究手术到死亡的过程、治疗到疾病进展等等。 在开展生存分析前,需要了解什么是删失(c…

博途安装【PLC】

1【安装】 mp.weixin.qq.com Pro功能强于Adv 关于Prof版本和Adv版本的区别,可以参考下图,专业版是包含高级版的,我们选择专业版进行安装 双击TIA_Portal_STEP7_Prof_Safety_WINCC_Prof_V16.exe进行安装 解压安装 如果电脑死循环重启&#…

Python-100-Days: Day05 Construct Program Logical

Python的核心语言元素: (变量、类型、运算符、表达式、分支结构、循环结构) 之后,必须做的一件事情就是尝试用所学知识去解决现实中的问题,换句话说就是锻炼自己把用人类自然语言描述的算法(解决问题的方法…

redis基础(一)

启动与关闭 启动命令在/usr/local/bin目录 服务端后台启动:redis-server opt/redis-6.2.1/redis.conf 客户端连接:执行 redis-cli 关闭操作 ​ 方式1:进入终端后关闭 ​ 方式2:直接kill 掉进程 方式3:通过实例关闭 …

蓝桥杯ctf2024 部分wp

数据分析 1. packet 密码破解 1. cc 逆向分析 1. 欢乐时光 XXTEA #include<stdio.h> #include<stdint.h> #define DELTA 0x9e3779b9 #define MX (((z>>5^y<<2)(y>>3^z<<4))^((sum^y)(key[(p&3)^e]^z))) void btea(unsigned int* v…

ElasticSearch自动补全

一、拼音分词器&#xff1a; 当用户在搜索框输入字符时&#xff0c;我们应该提示出与该字符有关的搜索项&#xff0c;如图&#xff1a; 这种根据用户输入的字母&#xff0c;提示完整词条的功能&#xff0c;就是自动补全了。 GET /_analyze {"text":"我爱螺蛳粉…

快手AI小快走红:评论区里的聊天艺术家,让百万用户欲罢不能!

快手官方推出的AI互动小助手「AI小快」在短视频平台上掀起了一股热潮。那么&#xff0c;这个被誉为“评论区著名聊天艺术家”的AI小快究竟有何魅力呢&#xff1f;让我们一起来看看吧&#xff01; AI-321 | 专注全球AI工具推荐的网站 AI工具集 | 人工智能工具箱 | 全球顶尖AI工…

电磁兼容(EMC):详解压敏电阻的防静电性能如何

目录 1. 压敏电阻性能 2. 静电放电性能评价指标 3. 压敏电阻防静电实验数据 4. 总结 压敏电阻是一种防浪涌型保护器件&#xff0c;常用在防雷击浪涌以及电网浪涌电压的保护电路中。那压敏电阻的防静电性能如何呢&#xff1f;能不能像防电涌那般防住静电放电能量&#xff1f;…

回溯算法练习day.5

491.非递减子序列 链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重…

2024全国大学生高新技术竞赛——算法智星挑战赛 解题报告(流水账版) | 珂学家

前言 评价 因为第一届的缘故吧&#xff0c;导致这场比赛异常的简单。所以不太好评价这块。 怎么说呢&#xff1f; 体验有点差 题目难度没有区分度有两题还存在SPJ判定问题&#xff0c;导致赛时没一人过。 题目分布&#xff0c;简单题占大部分&#xff0c;中等级占一小部分&…

【Linux】HTTP协议1

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;题目解析 目录 &#x1f449;&#x1f3fb;http概念初识http协议格式 &#x1f449;&#x1f3fb;URL&#x1f449;&#x1f3fb;简单实现http协议&#xff…

5G前传光纤传输的25G光模块晶振SG2016CAN

一款适用于5G前传光纤传输网络中的25G光模块的5G晶振SG2016CAN。随着5G时代的到来&#xff0c;5G晶振的重要性也不言而喻&#xff0c;小体积宽温晶振SG2016CAN可以用于5G前传的25G光模块&#xff0c;具有高稳定性、小体积、宽温等优势。在5G前传光纤传输网络中&#xff0c;25G光…

java.sql.SQLDataException: Cannot determine value type from string 报错

报错 "org.springframework.dao.DataIntegrityViolationException: Error attempting to get column title from result set. Cause: java.sql.SQLDataException: Cannot determine value type from string 标题\n; Cannot determine value type from string 标题; neste…

ssm089理发店会员管理系统的设计和实现+vue

理发店会员管理系统的设计与实现 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和…

Redis入门到通关之数据结构解析-SkipList

文章目录 ☃️概述☃️总结 欢迎来到 请回答1024 的博客 &#x1f353;&#x1f353;&#x1f353;欢迎来到 请回答1024的博客 关于博主&#xff1a; 我是 请回答1024&#xff0c;一个追求数学与计算的边界、时间与空间的平衡&#xff0c;0与1的延伸的后端开发者。 博客特色&…