zoukankan      html  css  js  c++  java
  • Monkey稳定性测试实战之ADB命令(二)

    ​前言

    Android开发调试工具ADB的使用。ADB(Android Debug Bridge)是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备。

    ADB主要功能有:
    1、在Android设备上运行Shell(命令行)
    2、管理模拟器或设备的端口映射
    3、在计算机和设备之间上传/下载文件
    4、将电脑上的本地APK软件安装至Android模拟器或设备上

    本章只介绍一些我常用的指令,有一些指令没用过,或者本人未了解不介绍,有些指令只是说明作用,具体使用细节可以去网上查具体使用,比如adb logcat和adb shell dumpsys指令,使用细节很多,不做具体介绍,以后可能会慢慢补全。

    显示设备       

    显示连接到当前电脑上的设备

    > adb devicesList of devices attached4b5df8f1    device59a85475    device

    多台设备

    如果多台设备连接到电脑,使用-s来选择指令执行的设置。

    adb -s 4b5df8f1 install test.apk  // 向id为4b5df8f1的设备安装test应用

    安装包相关指令  安装程序,指令格式,adb install [option] <app_path>

    adb install test.apkadb install -r test.apk // 覆盖安装卸载程序,指令格式,adb uninstall [options] <PACKAGE_NAME>adb uninstall com.test.app // 卸载包名为com.test.app的程序adb uninstall -k com.test.app // 卸载包名为com.test.app的程序,但是保留数据列出设备中已安装的程序,adb shell pm list packages [options] <Filter_name>

    查看id为4b5df8f1设备的第三方安装程序,过滤词为baidu,示例:

    > adb -s 4b5df8f1 shell pm list packages -3 baidu  package:com.baidu.lbs.waimai  package:com.baidu.netdisk
    adb shell pm list packages // 列出设备中所有已安装程序adb shell pm list packages -d // 列出设备中无用程序,目前不知道有什么用adb shell pm list packages -e // 列出设备中可用程序adb shell pm list packages -s // 列出系统程序adb shell pm list packages -3 // 列出第三方程序adb shell pm list packages -i // 列出所有程序,并显示安装来源adb shell pm list packages -u // 列出所有程序,包括已卸载程序

    查看安装程序的apk文件目录: adb shell pm path <PACKAGE>

    在id为4b5df8f1设备查看中包名为com.baidu.netdisk程序的安装包路径位置,示例:

    清空程序缓存: adb shell pm clear <PACKAGE>

    示例:> adb shell pm clear com.baidu.netdiskSuccess

    文件相关指令

    local_path可为相对路径,可为相对路径

    从设备中拷贝文件, adb pull <remote_path> <local_path>

    // 将设备中/sdcard/demo.mp4拷贝到本机的e盘根目录
    adb pull /sdcard/demo.mp4 e:

    本地文件拷贝至设备adb push <local_path> <remote_patch>

    // 将本地d盘的test.apk文件拷贝至设备的/sdcard目录下

    adb push d:	est.apk /sdcard

    进入设备系统adb shell,Android设备底层是Linux内核,好多指令是和Linux种指令相同,下面列出一些。使用adb shell指令进入设备系统之后,可使用以下指令。

    ls            // 列出当前目录下面的文件ls -a         // 列出当前目录下的所有文件,包括隐藏文件ls -l         // 列出文件,包括文件的读写权限和组关系cd <文件夹名称> // 进入某个文件夹rm <文件名>    // 删除某个文件rm -f <文件名> // 强制删除某个文件rm -r <文件夹> // 删除某个非空文件夹rm -d <文件夹> // 删除文件夹,包括空文件夹,等同于rmdir指令mkdir <文件名/文件夹名> // 创建文件或者文件夹mkdir -m 777 <文件名/文件夹名> // 创建相应权限的文件夹,777是一种权限的代称mkdir -p <文件名/文件夹名> // 如果不存在该文件或者文件夹,就创建touch <文件名> // 新建文件pwd // 打印当前目录cp [options] <source_path> <dest_path> // 拷贝文件或者文件夹move [options] <source_path> <dest_path> // 移动文件或者重命名文件

    日志指令

    输出日志,adb logcat [option] [filter-specs],具体使用可以查看这里,点这里,个人常用的指令格式。

    // 以单个关键字过滤日志,日志显示时间戳adb logcat -v time | grep 关键字adb logcat -v time | grep "关键字"// 以多个关键字过滤日志,日志显示时间戳adb logcat -v time | grep "关键字一|关键字二"

    输出手机信息:

    adb shell dumpsys [options],
    
    
    // 查看电池使用情况
    adb shell dumpsys battery
    还有更多使用方法,官方文档,例如利用它去查看内存使用情况,

    adb shell dumpstate查看各类信息,比如进程信息,内存信息,进程是否异常,kernnel的log等,有些手机不适用,提示说没有找到sh脚本,OAO,嗯,系统定制化的结果。查看当前Activity:

    // linuxadb shell dumpsys activity | grep "mFocusedActivity"//windowsadb shell dumpsys activity | findstr "mFocusedActivity

    截屏,截取当前手机屏幕,adb shell screencap <filename>,然后可以再利用adb pull指令将图片拷贝到本地

    // 截取当前屏幕,图片保存到/sdcard目录下,名称为screen.pngadb shell screencap /sdcard/screen.png

    录制视频,录制屏幕操作视频,adb shell screenrecord [options] <filename>按ctrl+c停止录制,该指令仅适用于4.4版本以及以上的系统。

    // 录取屏幕操作视频,保存到/sdcard目录下,名称为demo.mp4adb shell screenrecord /sdcard/demo.mp4
    // 录取视频,并设置录取视频的长宽
    adb shell screenrecord --size <WIDTHxHEIGHT> <filename>
    // 录取视频,设置最长录取时间
    adb shell screenrecord --time-limit <TIME> <filename>
    // 录取视频,角度旋转90度
    adb shell screenrecord --rotate <filename>
  • 相关阅读:
    hdu 4614 线段树 二分
    cf 1066d 思维 二分
    lca 最大生成树 逆向思维 2018 徐州赛区网络预赛j
    rmq学习
    hdu 5692 dfs序 线段树
    dfs序介绍
    poj 3321 dfs序 树状数组 前向星
    cf 1060d 思维贪心
    【PAT甲级】1126 Eulerian Path (25分)
    【PAT甲级】1125 Chain the Ropes (25分)
  • 原文地址:https://www.cnblogs.com/fighter007/p/11298946.html
Copyright © 2011-2022 走看看