学习测试7-ADB的使用

ADB是什么?

ADB,即 Android Debug Bridge(安卓调试桥) 是一种允许模拟器或已连接的 Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。可以在Android SDK/platform-tools中找到 adb 工具或下载 ADB Kits 。

ADB有什么作用?

ADB 是 Android SDK 里的一个工具, 用这个工具可以直接操作管理Android模拟器或者真实的Android设备。它的主要功能有:

复制代码
在设备上运行Shell命令;
将本地APK软件安装至模拟器或Android设备;
管理设备或手机模拟器上的预定端口;
在设备或手机模拟器上复制或粘贴文件。

ADB 是一个客户端-服务器程序程序,包括三个组件:

复制代码
客户端:该组件发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
后台程序:该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
服务器:该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。

本文使用雷电模拟器4进行模拟安卓环境

adb使用

1,安装adb 配置环境变量

在系统环境变量path里加入路径

复制代码
D:\android-sdk\android-sdk\platform-tools     

2,在终端看是否安装成功


ADB常用命令

复制代码
查看adb的版本信息
adb version

adb devices 查询已连接的设备/模拟器列表
车机或手机和PC在同一网络

adb connect ip 端口号    连接设备

查看包名和启动名
adb shell dumpsys window | findstr usedApp
复制代码
adb shell am start -n com.android.launcher3     启动adb
一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动调起。

adb shell am force-stop 包名       停止

adb shell pm list packages      列出手机安装的App的包名
adb shell pm list packages -s      列出系统的包名
adb shell pm list packages -3      列出3放应用的包名

adb shell pm clear  包名       清缓存

adb shell getprop  ro.product.model    查看设备型号
adb shell getprop  ro.build.version.release    查看设备型号

复制代码
截图
adb shell screencap -p /sdcard/p.png

文件上传和下载	 
adb push 本地文件  目标路径            上传
adb pull   目标文件  本地路径            下载

复制代码
查看启动时间
adb shell am start -W    包名启动名

例:

1、打开通讯录,查看包名启动名 adb shell dumpsys window | findstr usedApp

2、关闭通讯录, adb shell am force-stop

3、查看通讯录启动时间


复制代码
安装安卓文件
adb install -r name.apk    (强制安装 -r)

卸载
adb uninstall 包名

查日志
复制代码
adb logccat  
adb logcat -c   清楚之前的日志

过滤关键字
adb shell    进入到Linux             exit退出Linux模式
locat | grep -i 关键字


复制代码
过滤关键字2
adb logcat | findstr关键字

复制代码
将日志重定向到文件中
adb logcat > 文件

复制代码
 以 root 权限运行 adbd
adb root

重启
adb reboot

开启
adb start -server

关闭
adb kill -server

压力测试monkey 胡乱点命令

复制代码
adb shell monkey -p 包名 次数
日志等级  -v -vv -vvv   越来越细致
adb shell monkey  -v -p   包名 次数     adb shell monkey -p   包名  -v 次数

复制代码
中子数 -s       123无特别意义  标记monkey的操作顺序,便于复现
adb shell monkey -p   包名  -v -s 123  次数 
闪退  crash  无响应 anr  需要复现

设置间隔时间     -throttle
adb shell monkey -p   包名  -v -s 123  --throttle 次数   毫秒数	
adb shell monkey -p com.yunmall.lc -v 100 -s 123 --thorttle 100 1000

需要了解:

  1. 执行此事件- - put - touch:
    adb shell monkey -p 包名 --pct-touch 百分比 次数
  2. 忽略崩溃:- - ignore -crashes
    adb shell monkey -p 包名 --ignore-crashes 次数
  3. 忽略超时:- - ignore -timeouts
    adb shell monkey -p 包名 --ignore-timeouts 次数
相关推荐
哆啦A梦的口袋呀5 分钟前
基于Python学习《Head First设计模式》第七章 适配器和外观模式
python·学习·设计模式
恰薯条的屑海鸥8 分钟前
零基础在实践中学习网络安全-皮卡丘靶场(第十期-Over Permission 模块)
学习·安全·web安全·渗透测试·网络安全学习
东京老树根43 分钟前
SAP学习笔记 - 开发27 - 前端Fiori开发 Routing and Navigation(路由和导航)
笔记·学习
betazhou3 小时前
mariadb5.5.56在centos7.6环境安装
android·数据库·adb·mariadb·msyql
阿阳微客7 小时前
Steam 搬砖项目深度拆解:从抵触到真香的转型之路
前端·笔记·学习·游戏
Chef_Chen12 小时前
从0开始学习R语言--Day18--分类变量关联性检验
学习
键盘敲没电12 小时前
【IOS】GCD学习
学习·ios·objective-c·xcode
海的诗篇_12 小时前
前端开发面试题总结-JavaScript篇(一)
开发语言·前端·javascript·学习·面试
AgilityBaby13 小时前
UE5 2D角色PaperZD插件动画状态机学习笔记
笔记·学习·ue5
AgilityBaby13 小时前
UE5 创建2D角色帧动画学习笔记
笔记·学习·ue5