ADB-常见命令使用详解
ADB命令使用详解
ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.
1、连接android设置
adb connect 设备名
例如:
adb connect 127.0.0.1:62025
adb connect 127.0.0.1:62001
2. 查看设备
adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
3. 安装软件
adb install 软件包的名称
这个命令将指定的apk文件安装到设备上
adb install 路径\app-weichi-release.apk
如果显示success,那么久安装apk包成功,显示Failure,则安装失败。
检查错误,排错,再执行如下命令:abd install -r 包名.apk
4、获取app的包名和activity名称
adb logcat -v time | findstr START
脚本中,cmp= 后面的值就是 包名
查看当前运行的APP的包名和打开的Activity
adb shell "dumpsys window | grep mCurrentFocus"
5. 卸载软件
获取包名(单个设备)adb shell pm list packages -3 (3指的第三方的)
(多个设备)adb -s 设备名 shell pm list packages -3
adb uninstall <软件名>
6、把本地的文件上传到Android设备(以夜神模拟器例)
语法:adb push 本地文件路径 Android设备路径
例子:把本地磁盘中的E:\android\test.txt上传到安卓服务器的/storage/sdcard0/目录
adb push E:\android\test.txt /storage/sdcard0/
PS:点击夜神模拟器左下角的 文件管理器,依次进入storage/sdcard0,就能查看到刚才上传的文件
7、把Android设备的文件下载到本地的(以夜神模拟器例)
语法:adb pull Android设备上的文件路径 本地路径
例子:把本地磁盘中的E:\android\test.txt上传到安卓服务器的/storage/sdcard0/目录
adb pull /storage/sdcard0/test.txt E:\android
8.monkey命令
adb shell monkey -p app-weichi-release.apk -v 500
这个命令将会启动你的软件并且触发500个事件.
9、使用monkey做回归测试
monkey命令后面可以带很多参数,常见的除了-v、-p还有-s,-s 后面加上monkey上一次运行时候的产生seed值,就可以让monkey重复上一次运行时的操作路径,从而实现回归测试。
例如:
adb shell monkey -p app-weichi-release.apk -s 45544215878 -v 5
10、测试期间收集monkey日志
adb shell monkey -p your.package.name -v 500 > E:\share\monkey.log -- 把monkey日志导入到E盘的share目录下。
11、收集logcat日志(logcat日志,记录了用户的在系统上的所有操作)
1)、先清空系统上原有的logcat日志:adb logcat -c
2)、获取logcat日志:adb logcat -v time > E:\share\logcat.log -- 把logcat日志导入到E盘的share目录下。
******************************************************************************
monkey在运行过程中,可能会出现异常,一般的原因有以下方面:
1)、应用程序崩溃(crash)或接收到任何失控异常;
导致crash的原因有:
a)、程序存在空指针;
b)、数组越界;
c)、CPU不足;
d)、内存不足。
2)、应用程序不响应(application not responding,简称:ANR); ---- 当系统5秒内无法响应用户输入事件,就报ANR的错误。
导致ANR的原因有:
a)、线程堵塞;
b)、CPU不足;
c)、内存不足。
monkey在运行过程中出现异常停止的问题分析思路,参考:
《APP压力测试问题定位思路_monkey篇.docx》
******************************************************************************
思考题:当monkey异常终止,我如何协助开发定位问题?
参考答案:运行monkey做稳定性测试的同时,需要把应用的logcat日志取下来,monkey在运行中出现异常,一般是两种原因导致的,一个是crash,程序崩溃,一个是ANR,程序没有响应;当monkey异常终止,就进入logcat日志,搜索关键字“anr in”,如果存在该关键字,说明app出现了ANR异常,接下来把/data/anr/目录下的trace.txt文件取下来,将出现问题的进程号对应的日志发给开发定位;如果没搜索到“anr in”关键字,就搜索“nullpointer”,存在该关键字,说明app出现了CRASH异常,就把nullpointer异常关键字上下的日志发给开发定位。
ADB-常见命令使用详解的更多相关文章
- adb常用命令及详解
ADB 即 Android Debug Bridge,Android调试桥.ADB工作方式比较特殊,采用监听Socket TCP 端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的 ...
- ADB 常用命令及详解
1.pull文件 adb pull (文件路径) (想要pull的路径) MacBook-Pro:~ caris$ adb pull /sdcard/Android/data/com.xiwi.log ...
- Mysql数据库导入命令Source详解
Mysql数据库导入命令Source详解 几个常用用例: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p dat ...
- dos下的edit命令使用详解
dos下的edit命令使用详解 来源:网络 作者:未知 edit命令是一个简单的编辑软件,我们经常用它来编辑一些程序和批处理文件. 比如,我想在c盘根目录下编辑一个简单的批处理文件,要求无论当前盘和当 ...
- 常见 jar包详解
常见 jar包详解 jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期 ...
- (转)Linux curl命令参数详解
Linux curl命令参数详解 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具, ...
- Make命令完全详解教程
Make命令完全详解教程 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install.利用m ...
- shell编程系列23--shell操作数据库实战之mysql命令参数详解
shell编程系列23--shell操作数据库实战之mysql命令参数详解 mysql命令参数详解 -u 用户名 -p 用户密码 -h 服务器ip地址 -D 连接的数据库 -N 不输出列信息 -B 使 ...
- [转载]OpenSSL中文手册之命令行详解(未完待续)
声明:OpenSSL之命令行详解是根据卢队长发布在https://blog.csdn.net/as3luyuan123/article/details/16105475的系列文章整理修改而成,我自己 ...
随机推荐
- brother b-PAC sdk开发包
brother b-PAC sdk开发包 https://download.brother.com/welcome/dlfp100607/bsdkw32031eu.exe https://www.br ...
- Java学习笔记7(IO)
IO(输入输出) IO流按照操作数据的不同,分为字节流和字符流,按照数据传输方向分为输入流和输出流. 字节流 计算机中,所有文件都是以二进制(字节)形式存在,IO流中针对字节的输入输出提供了一系列的流 ...
- 图像处理中的valid卷积与same卷积
valid卷积 在full卷积的卷积过程中,会遇到\(K_{flip}\)靠近I的边界(K矩阵与I矩阵),就会有部分延申到I之外,这时候忽略边界,只考虑I完全覆盖\(K_{flip}\)内的值情况,这 ...
- 面试题40:最小的 k 个数
import java.util.Arrays; /** * Created by clearbug on 2018/2/26. * * 面试题40:最小的 k 个数 * * 注意:因为前两天在陌陌面 ...
- Python3-os模块-操作系统的各种接口
Python3中的os模块提供了一个便携的方式去使用操作系统的相关功能 os.name 返回导入的操作系统相关模块的名字,如 posix(unix/linux),nt(windows)等 os.env ...
- js基础练习题(3)
8.this 1.举例说说apply方法和call方法的作用和区别 2.读下面代码,写程序结果 function identify () { return this.name.toUpperCase( ...
- 如何解决TOP-K问题
前言:最近在开发一个功能:动态展示的订单数量排名前10的城市,这是一个典型的Top-k问题,其中k=10,也就是说找到一个集合中的前10名.实际生活中Top-K的问题非常广泛,比如:微博热搜的前100 ...
- Guava RateLimiter限流器使用示例
Guava中的RateLimiter可以限制单进程中某个方法的速率,本文主要介绍如何使用,实现原理请参考文档:推荐:超详细的Guava RateLimiter限流原理解析和推荐:RateLimiter ...
- 前端分页(js)
//前端分页 var limit = 10; //每页显示数据条数 var total = $('#host_table').find('tr').length; var allPage = tota ...
- Javascript安全编程规范
命名 1.原则——编码格式UTF-8,根据功能为变量与方法命名(尽量不缩写) 2.类——构造函数/类 使用驼峰命名法,且首字母大写 3.方法——动词.动宾结构,使用驼峰命名法,首字母小写 例如:get ...