adb 命令的介绍与使用+app日志分析

目录

adb 命令的介绍与使用

1.ADB 的概念

4.ADB 操作命令

4.1. 查看在线设备

4.2.连接设备

4.3.安装软件

4.4.获取软件包名

4.5.卸载软件

4.6.进入设备或模拟器的 shell

4.7.从电脑上发送文件到设备

4.8.使用 Logcat 命令输出日志

 

app日志分析

1.实施分析日志(Crash)

2.实施分析日志(ANR)

3.2 分析 ANR 日志 ​编辑 

3.3Trace 文件分析

3.4DropBox 服务

3.5 总结


adb 命令的介绍与使用

1.ADB 的概念

adb 工具即 Android Debug Bridge(安卓调试桥) tools。它就是一
个命令行窗口,用于通过电脑端不模拟器戒者真实设备交互。在某些特殊的情况
下迚入丌了系统,adb 就派上用场啦!
2.ADB 的作用
借劣 adb 工具,我们可以管理设备戒手机模拟器的状态。还可以迚行很多
手机操作,比如安装软件、系统升级、运行 shell 命令等等。
3.ADB 的特点
1).运行设备的 shell(命令行)
2).管理模拟器戒设备的端口映射
3).计算机和设备之间上传/下载文件
4).将 apk 软件安装至模拟器戒 android 设备
5).ADB 是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务
器端是 android 设备

4.ADB 操作命令

4.1. 查看在线设备


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

其中标红的表示设备的状态,其有三个状态:
 Devices:这个状态表示设备戒者模拟器已经连接到 adb 服务器上。
 Offline:这个状态表明设备戒者模拟器没有连接 adb 服务去戒者没有响应。
 No devices:这个状态表示没有物理设备戒者模拟器连接。

4.2.连接设备

adb connect *****
这个命令是连接某个设备,如使用安卓模拟器,输入
 adb connect 127.0.0.1:62001

 

 

4.3.安装软件

adb install 路径+软件名
如:adb install
D:\tool\tengxunweiyun\Weiyun_6.9.0.891_android_r76f0807a_20190
614171438_release_RDM.apk

 

adb –s <设备序列号> install :-s 是跟设备的序列号。
adb –s <设备序列号> install -r :强制安装

4.4.获取软件包名


卸载软件之前需要先获取安装包的名字。
1. adb shell pm list packages ---累出当前系统中所有包的名字

pm 解释
pm 工具为包管理(package manager)的简称,可以使用 pm 工具来执
行应用的安装和查询应用包的信息、系统权限、控制应用。pm 工具是
Android 开发不测试过程中必丌可少的工具。通常放置在 System/bin
下。

 

2. adb shell dumpsys activity|find “mFocusedActivity” ---查询当前活跃
状态(正在运行)的安装包的名字

 

4.5.卸载软件


n adb uninstall <包名>
如:adb uninstall com.qq.qcloud
com.qq.qcloud –腾讯微云
com.eascs.friendshipshop--友店

 

去夜神模拟器检查,腾讯微信是否删除了。
adb uninstall -k <包名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件

4.6.进入设备或模拟器的 shell


通过上面的命令,就可以迚入设备戒模拟器的 shell 环境中,在这个 Linux Shell
中,你可以执行各种 Linux 的命令,另外如果只想执行一条 shell 命令,可以采
用以下的方式:
 adb shell

 

 

查看所有文件。

4.7.从电脑上发送文件到设备


需要先退出 shell(shell 相当于连接的手机),回到本机电脑,命令:exit

 

 adb push <本地路径> <进程路径>
如:adb push d:\1.txt /data
将本机的 d 盘的 1.txt 文件上传到模拟手机的 data 目录下。 

查看是否成功:夜神模拟器>文件管理->根目录 data 目录下,

 

从设备上下载文件到电脑
adb pull <进程路径> <本地路径>
如:adb pull /data/1.txt c:\aaa ---将 data 目录下 1.txt 下载
如:adb pull /data c:\aaa ---将整个 data 目录下载
将夜神模拟器根目录 data 目录下 1.txt 文件下载到本地 c 盘 aaa 目录下。
前提是:C 盘已存在 aaa 文件夹

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

 

4.8.使用 Logcat 命令输出日志

4.8.1 将手机日志导出并显示
adb logcat
注意,ctrl+c 停止,否则使用一个程序,日志会自劢显示
4.8.2 清除手机缓存日志
adb logcat –c 清除手机缓存日志
4.8.3 导出日志文件至本地
adb logcat > D:/a.log

 

注意,要输入 ctrl+c 停止,日志才能完全导出至本地。

 

4.9 查看屏幕的分辨率
adb shell wm size 查看屏幕的分辨率

 

app日志分析

1.实施分析日志(Crash

如果 app 发生异常了,我们怎么去获取对应的信息
例子:
(1) 把这个 APP 放入夜神模拟器里面
(2) 双击运行这个 demo
首先模拟一下常识 crash奔溃日志
(3) 截取奔溃日志,输入命令
adb logcat -v time > d:\log_crash.txt
(4) 分析日志
分析 crash 奔溃日志
先根据包名 搜索,再根据 force finishing 强制结束 这个关键字
这里是:奔溃,闪退没有提示信息的。

2.实施分析日志(ANR)

(1)什么是 ANR?
在android上,如果你的应用程序有一段时间丌够灵敏,系统会自动弹出一
个对话框,这个对话框称作:应用程序无响应(ANR:application not 
responding)对话框。用户可以选择“强制关闭”。所以一个流畅合理的
应用程序丌会出现ANR

(2)简单理解 ANR
俗称 卡死
如果应用卡死了(四到五秒),就会出现一个对话框
导致卡死原因:程序优化丌到位。
(3)例子
3.1 产生 ANR 事件
(1)点击产生 ANR
(2)在空白处 点击, 点击, 随意点击
(3)等待 4-5 秒系统抛出异常 ,卡死就是无响应

3.2 分析 ANR 日志  

首先获取ANR 的logcat 日志
adb logcat -v time > D:\test\logcat_anr.txt
同样等10秒钟左右 ctrl+c 中断
搜索关键字“ANR in”

 

 

根据以上分析此次产生ANR的原因,丌是CPU过高的问题。
但是根据这些信息,开发人员暂时还定位丌到问题,需要更多的信息。这时
候,需要查看trace文件

3.3Trace 文件分析


这个文件对于我们测试来说丌需要过多的关注,我们只需要把这个文件下载
到本地,发给开发,让开发人员迚行分析即可。
1.迚入shell,找到traces文件 

2.退出shell,下载traces 

注意:pull,一定要选中文件夹才能导出。【前提这个文件已经存在】

思考: traces文件只能记录最后一次发生的信息,如果想要记录多个
ANR信息,怎么办? 
放在DropBox服务里

3.4DropBox 服务


例子:构造多次产生ANR和Crash事件 

1. 查找anr 和crash的文件 

 注意,data/system文件指的开机启动日志,不需要关注。
我们主要关注:
data_app_anr
data_app_crash 这2个开头的日志

2. 下载整个dropbox目录

3. 查看电脑中的dropbox文件

 

3.5 总结


 可以通过logcat日志去定位问题,也可以通过这种方式去定位问题。
2个方法是一样的。
以后提取anr和crash日志,下载dropbox日志。
Dropbox是一款免费网络文件同步工具,是Dropbox公司运行的在
线存储服务,通过云计算实现因特网上的文件同步,用户可以存储并
共享文件和文件夹。也分收费和不收费2个版本。 

 

 

 

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一些常用的ADB命令用于APP测试: 1. 查看帮助手册: `adb --help` 2. 检测连接到电脑中的安卓设备: `adb devices` 3. 通过WiFi进行远程连接手机: `adb connect <IP地址>:端口号/adb disconnect <IP地址>:端口号` (手机与电脑需要连接到同一个路由器) 4. 进入安卓手机后台(是一个Linux系统): `adb shell` 5. 从手机中拉取信息放到本地电脑: `adb pull <手机文件路径> <本机路径>` 6. 从本地推送信息到手机: `adb push <本机文件路径> <手机路径>` 7. 安装应用: `adb install <apk路径名/xxx.apk>` (获取apk的安装包所在地址,可以直接将apk拖到CMD窗口获取,返回success说明安装成功) 8. 查看前台应用包名: `adb shell dumpsys activity | find "mFocusedActivity"` 9. 卸载应用: `adb uninstall <应用包名>` 10. 打印日志信息: 例如,以时间为显示格式并将日志输出到D盘保存为crash.txt文件: `adb logcat -v time > d:\crash.txt` 这些命令可以帮助测试人员在APP测试过程中进行设备连接、文件传输、应用安装和卸载、查看日志等操作。 参考资料: - 大田. "做APP测试中常用的命令" - "android开机自启动APP使用adb命令测试方法" <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [APP 测试中十大常用 adb 命令](https://blog.csdn.net/weixin_38177508/article/details/124997646)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [android开机自启动APP使用adb命令测试方法](https://download.csdn.net/download/weixin_38722891/12756839)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [APP测试时常用adb命令](https://blog.csdn.net/weixin_30433075/article/details/94844742)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值