史上最全的ADB命令,详细学习不亏!(APP测试)
常用ADB命令介绍:
目录
ADB工具的介绍:ADB( Android Debug Bridge )是一个通用的命令行工具,也是Android 软件测试开发工作者常用的调试工具
ADB命令: 可用来安装卸载、管理安卓系统软件、启动测试、抓取日志等
- 查看adb是否安装: adb version
- 连接设备: adb connect 连接设备的IP: 连接设备的端口号
- 断开设备:adb disconnect 连接设备的IP: 连接设备端口号
真机如何进行远程调试的步骤:
注意事项:必须保证手机 和电脑连接的是同一路由器
- 将手机用数据线连接到PC端(电脑)
- adb devices //监测设备是否连接上(监测连接的设备数)
- adb tcpip 555 // 确认手机端和PC端的通讯端口号为555
- 拔掉数据线 , adb connect 连接设备的IP // 连接设备(手机)
- 取消远程调试 adb disconnect 连接设备的IP
基础命令:
- 显示系统中的全部设备: adb devices
- 开启关闭adb服务:
- (1)开启adb服务: adb start-server
- (2) 关闭adb服务:adb kill-serve
- 获取软件包名:
- (1) adb shell dumpsys window|findstr mCurrentFocus //方法二
- (2) adb shell dumpsys window|findstr"Current" //方法二
安装软件:
- (1)adb install [apk文件路径] //apk指的是安卓应用程序的安装包
- (2)adb install -r [apk文件路径] // 加参数 -r 表示覆盖安装,保留缓存和数据处理 ; apk文件路径 也可以将apk文件包直接拖进cmd命令窗口,前面要加上空格再进行操作。
卸载软件:
- (1)adb uninstall [文件名,即包名]
- (2)adb uninstall - [文件名,即包名] // 加参数 -k 表示卸载软件,保存配置和缓存文件
列出连接设备的软件的包名:
- 列出设备(手机)中所有的APP包名:adb shell pm list packages
- 列出设备中系统应用的所有包名: adb shell pm list packages -s
- 列出除了系统应用的第三个应用的包名: adb shell pm list packag
- 使用grep来过滤: adb shell pm list packages|grep qq
- 列出系统应用的包名及其安装路径:adb shell pm list packages -f
- 列出当前应用的包名和activity: adb shell dump activity activities
- 进入手机系统(进入shell模式):adb shell //按Ctrl+c 或exit 退出shell模式
- 查看进程: adb shell ps
- 查看被占用端口对应的PID: netstat -aon|findstr "端口号"
- 杀死某个进程:
(1)taskkill /pid 进程号 /f //杀死单个进程 (2)taskkill /pid 进程号1 /pid 进程号2 .... /pid 进程号n /f //杀死多个进程
- 启动应用程序:adb shell am start -n 包名/activity名 例子:adb shell am start -n com.baidu.appsearch/com.baidu.appsearch.MainActivity
- 强制停止应用程序: adb shell am force-stop 包名 例子: adb shell am force-stop com.baidu.appsearch
- 指定APP生成随机事件100次: adb shell mokey -p 包名 100 例子:adb shell mokey -p com.baidu.appsearch 100
- 指定APP生成随机事件100次并发送详细的activity信息adb shell monkey -p 包名 -v -v 100
例子:adb shell monkey -p com.baidu.appsearch -v -v 100
5.清除应用程序的缓存数据:adb shell pm clear com.baidu.appsearch // com.baidu.appsearch是包名
- 获取文件的读写权限:adb remount 注意:有些设备不能直接 adb remount ,必须先执行 adb root,获取root权限,再执行 adb remount
- 截屏(截图)并保存文件在手机上命名为xx.png : adb shell /system/bin/screencap -p /sdcard/xx.png // 截图保存到手机的/sdcard/目录下
- 将手机上xx.png文件保存到电脑d盘中: adb pull /scard/xx.png D:/xx.png //xx.png ,文件名可以重新随机命名的,不是固定的
- 将电脑d盘上xx.txt文件上传(导入)到安卓设备(手机):adb push D:/xx.txt /adcard/xx.txt //xx.txt这个文件名 可以随便命名
抓取日志之前先清理一下以前的日志的命令:adb logcat - c
把日志输出到手机的指定目录中: adb locat -f 指定目录(如:/data/log.txt)
获取APP日志(导出日志文件到本地电脑中):adb logcat>指定路径
- 例子1: adb logcat>D:\logs\log.txt //将日志保存到D:\logs\这个路径下,文件命名为log.txt
- 例子2:adb logcat -v time >D:\logs\log.txt // 让日志展示时间戳
find过滤包名
如果直接用adb logcat,会将很多没用的一起加载,如果只想抓取被测app的日志,就需要对包名进行过滤,其命令如下:adb logcat |find"com.baidu.appsearch">D:/log/log.txt
注:com.baidu.appsearch为应用程序的包名,测试换成自己测试的应用程序的包名即可。
常见的操作文件夹的命令:
注意:操作文件和文件夹有时会出现权限不够,Read-only file system,就需要 adb remount操作,获取权限。
- cd system /sd/ data //进入系统内指定的文件夹
- ls //列表显示当前文件夹的内容
- mkdir xxx 创建文件夹 //xxxx,代表文件夹名字
- rm -r xxx 删除文件夹 //xxx,代表文件夹名字,加参数 -r 表示删除文件夹及其里面的内容
- rm xxx 删除文件 //xxx,代表文件名字
- rmdir xxx //删除xxx的文件夹
- exit //退出adb shell 模式 ,或者Ctrl +c 也可以退出shell模式
进阶命令:
adb shell dumpsys
Andorid 系统是基于Linux系统开发的,支持常见的Linux命令。
- adb shell ,通过此命令进入设备或者模拟器的shell环境
- adb shell [command(指令)] ,加上Linux指令和参数完成指令的执行
- 做Andorid安卓前端性能测试的时候,为了检查是否存在内存泄露的情况,需要获取系统的内存:
adb shell dumpsys meminfo packagename(包名)
例子:adb shell dumpsys meminfo com.baidu.appsearch //可以查询到内存的使用情 况
- 检查CPU占用率是否过高,需要获取CPU信息:
- adb shell dumpsys cpuinfo packagename(包名)
- 例子: adb shell dumpsys cpuinfo com.baidu.appsearch
- 性能测试是,如果关注前台耗电量和后台耗电量,可以使用以下命令:
- adb shell dumpsys battery
- 获取手机内存信息:adb shell cat /proc/meminfo
- 查看系统的内核: adb shell cat /proc/version
- 查看系统时间:adb shell date
- 获取手机存储信息: adb shell df
- 获取手机内部存储信息:
1)魅族手机: adb shell df /mnt/shell/emulated 2) 其他手机: adb shell df /data
- 获取手机存储信息: adb shell df /storage/sdcard
- 获取手机系统信息(CPU、厂商名称等):adb sehll " cat /system /build.pro|grep "product" "
- 获取手机系统版本:adb shell getprop ro.build.version.release
- 获取手机系统的api版本: adb shell getprop ro.build.version.sdk
- 获取手机的设备型号: adb -d shell gerprop ro.product.model
- 获取手机厂商名称:adb -d shell getprop ro.product.brand
- 获取手机的序列号:
1)adb get-serialno //方式一
2) adb shell getprop ro.serialno //方式二
- 获取手机Mac地址: adb shell cat /sys/class/net/wlan0/address
- 获取手机的分辨率: adb shell " dumpsys window|grep mUnrestrictedScreen "
- 获取手机物理密度:adb shell wm density
- 获取手机IMEI:
(1)adb sehll dumpsys iphonesubinfo //其中Device ID 为IMEI号 //方式一 (2)adb shell getprop gsm.baseband.imei //方式二
(3)service calliphonesubinfo 1 //方式三 ,此种方式,需要处理获取后的信息得到
终于写完了,路漫漫其修远兮,大家一起加油吧!
码字不易,喜欢的朋友可以点赞关注加收藏哦,上文有问题的地方欢迎大家积极指教。
更多推荐
所有评论(0)