• ADB命令


    adb shell "logcat |grep Displayed" 查看当前运行app的日志
    adb shell logcat|findstr Display

    输入以下命令获取Package和Activity

    adb shell dumpsys window |findstr mCurrent
    adb shell dumpsys window|findstr "mFoc"
    adb shell logcat |findstr START

    adb get-state , 获取设备的状态
    adb kill-server , adb start-server , 结束 adb 服务, 启动 adb 服务,通常两个命令一起用
    am monitor , 监控 crash 与 ANR
    adb shell ps 找pid
    adb shell cat /proc/"+Pid+"/net/dev" 看流量

    当有多个设备,需要指定某个设备进行操作时:

    参数 含义
    -d 指定当前唯一通过 USB 连接的 Android 设备为命令目标
    -e 指定当前唯一运行的模拟器为命令目标
    -s 指定相应 serialNumber 号的设备/模拟器为命令目标



    window 下用findstr 代替 linux的 grep
    adb shell中文显示乱码 chcp 65001

    
    

    adb shell "logcat |grep Displayed" 查看当前运行app的日志
    adb shell logcat|findstr Display

     
    重启 Android 设备
    adb reboot 

    adb pull , 将 Android 设备上的文件或者文件夹复制到本地
    • 例如复制 Sdcard 下的 pull.txt 文件到 D 盘:

      adb pull sdcard/pull.txt d:

      如果需要重命名为 rename.txt:

      adb pull sdcard/pull.txt d:
      ename.txt

      注意权限,复制系统权限的目录下的文件,需要 root ,并且一般的 Android 机 root 之后并不能使用命令去复制,而需要在手机上使用类似于 RE 的文件浏览器,先对系统的文件系统进行挂载为可读写后,才能在手机上复制移动系统文件,这里推荐使用小米手机的开发版本,IUNI 也是不错滴~~

    • adb push , 推送本地文件至 Android 设备

      例如推送 D 盘下的 push.txt 至 Sdcard:

      adb push d:push.txt sdcard/

      sdcard 后面的斜杠不能少,否则会出现下面的错误:

      [xuxu:~]$ adb push push.txt sdcard
      failed to copy 'push.txt' to 'sdcard': Is a directory
     

    安装APK
    使用 adb install 后面可以加上参数来控制安装行为:

    参数 含义
    -l 将应用安装到保护目录 /mnt/asec
    -r 允许覆盖安装
    -t 允许安装 AndroidManifest.xml 里 application 指定 android:testOnly=“true” 的应用
    -s 将应用安装到 sdcard
    -d 允许降级覆盖安装
    -g 授予所有运行时权限
    // 安装一个应用
    adb install D:工作文件Cccccccc-v1.1.9.apk

    //示例输出状态,代表安装成功
    327 KB/s (25896185 bytes in 77.157s)
    Success

    卸载应用
    // 卸载应用的命令
    adb uninstall com.hevc.hevcandroid
    adb uninstall -k com.hevc.hevcandroid //-k参数可选,代表卸载应用但保留数据和缓存目录
    //示例输出
    Success

     

    启动Activity

    (通常一个app上面的界面就是一个Activity,下面将讲到如何获取activity),如

    adb shell am start -W -S com.baidu.tieba/.tblauncher.MainTabActivity

    启动浏览器访问百度

    adb shell am start –a android.intent.action.VIEW –d http://www.baidu.com

    adb shell am start -n com.android.camera/.Camera 启动相机
    adb shell am start -S com.android.camera/.Camera 先停止目标再启动
    adb shell am start -a android.intent.action.VIEW -d http://testerhome.com 启动浏览器打开网页
    adb shell am start -a android.intent.action.CALL -d tel:10086 启动并拨号10086

     

    关闭APP
    adb shell am force-stop <包名>

     

    **dumpsys命令**

    adb shell dumpsys 查询系统服务信息(查看activity),包括系统服务和其他应用的服务,非常多,一般会添加参数过滤
     adb shell dumpsys activity |findstr “mFoc” 查找当前交互的界面(正在运行的应用的activity),如下图圈中部分,就是正在运行的百度贴吧的 activity

    查看测试机cpu信息
    // 命令
    adb shell dumpsys cpuinfo


    查看测试机内存信息
    // 命令
    adb shell dumpsys meminfo

    查看测试机所有包信息
    // 命令
    adb shell dumpsys activity

    查看电池状态
    // 命令
    adb shell dumpsys battery

    查看系统GPU
    adb shell dumpsys gfxinfo 包名

    查看设备分辨率
    // 命令
    adb shell wm size


    查看屏参数
    // 命令
    adb shell dumpsys window displays

    查看android 系统版本
    // 命令
    adb shell getprop ro.build.version.release

     

    **input命令**

      adb shell input text <text> 输入文本

      adb shell input keyevent <KEYCODE> 模拟按键操作,KEYCODE太多,下面会将相关参考贴上

    部分常见按键对应值:
    Key  | Constant Value
    Back 4
    Power 26
    Menu 82
    Home 3
    Search 84
     
    方向键:
    上 19
    下 20
    左 21
    右 22
    确认(类似单击):23


      adb shell input tap <X,Y> 模拟点击,X,Y为坐标
      adb shell input swipe <X0,Y0,X1,Y1,TIME> 模拟滑动屏幕
    PS:如何获取手机中某一位置的坐标:

      要获取手机的坐标位置,需要在开发者选项中打开指针位置,开发者选项中通过指针位置选项可以获取到坐标位置。

     

    > adb shell input keyevent 3

     

    > adb shell input tap 250 250

     

    > adb shell input swipe 250 250 300 300

     

     

    
    

    日志查看
    控制台直接打印
    // 命令,没有添加任何过滤,代表打印所有日志,测试意义不大
    **adb logcat**

    指定打印某个应用的日志

    logcat 命令行参数
    参数 描述
    -b 加载一个可使用的日志缓冲区供查看,比如event和radio。默认值是main
    -c 清除缓冲区中的全部日志并退出(清除完后可以使用-g查看缓冲区)
    -d 将缓冲区的log转存到屏幕中然后退出
    -f 将log输出到指定的文件中<文件名>.默认为标准输出(stdout)
    -g 打印日志缓冲区的大小并退出
    -n 设置日志的最大数目<count>,默认值是4,需要和-r选项一起使用
    -r 没<kbytes>时输出日志,默认值是16,需要和-f选项一起使用
    -s 设置过滤器
    -v 设置输出格式的日志消息。默认是短暂的格式。支持的格式列表

    //使用find或者grep来筛选应用日志,这里我拿微信来测试打印日志
    adb logcat | grep com.tencent.mm
    adb logcat | find "com.tencent.mm" //find后面需要加上“”引号

     

    输出最近的日志 : 使用adb logcat -t 5 命令, 可以输出最近的5行日志,
    并且不会阻塞;

     

    打印dumpsys、dumpstate、logcat的输出,也是用于分析错误

    adb shell  bugreport

    输出比较多,建议重定向到一个文件中

    adb shell dumpsys > d:ugreport.log

     

     

    **Adb应用管理pm**

    查看测试机所有包名
    // 命令
    adb shell pm list package

    //示例输出:
    package:com.miui.screenrecorder
    package:com.android.cts.priv.ctsshim
    package:com.qualcomm.qti.qms.service.telemetry

    可在adb shell pm list package后面加参数,进行过滤查看:

    参数 显示内容
    无 查看所有应用
    -f 显示应用关联的 apk 文件
    -d 只显示 disabled 的应用
    -e 只显示 enabled 的应用
    -s 只显示系统应用
    -3 只显示第三方应用
    -i 显示应用的安装来源
    -u 包含已卸载应用

    **模糊查找应用**
    // 命令
    adb shell pm list packages hevc //查找带有hevc字符的应用
    //示例输出
    package:com.hevc.hevcandroid

    清除应用缓存和数据
    adb shell pm clear 包名



    **截屏**
    adb shell screencap -p /sdcard/screen.png ,保存至 sdcard 目录
    adb shell screenrecord sdcard/record.mp4,执行命令后操作手机,ctrl + c 结束录制,录制结果保存至 sdcard


    查看设备cpu和内存占用情况

    adb shell top
    参数:
    查看设备cpu和内存占用情况
    -m num
    查看占用内存前num的app
    -n num
    刷新多少次退出
    -d num
    刷新时间间隔(单位秒,默认值 5)
    -s col
    按某列排序(可用 col 值:cpu, vss, rss, thr)
    -t
    显示线程信息
    -h
    显示帮助文档

    
    

    运行在 Android 设备上的 adb 后台进程
    db shell ps | grep adbd

    adb shell ps | grep [process],找出对应的进程pid adb shell dumpsys meminfo [pid],根据进程pid查看进程占用的内存 或者 adb shell dumpsys meminfo<package_name>,package_name 也可以换成程序的pid,pid可以通过 adb shell top | grep app_name 来查找
    adb shell ps, 查看当前终端中的进程信息

     

    Adb Shell命令下使用的一些linux命令命令:
    ls // 查看目录

    date // 打印或设置当前系统时间

    cat /proc/meminfo // 查看内存信息

    cat /proc/cpuinfo // 查看CPU信息







  • 相关阅读:
    tr 删除换行
    ImportExcelUtil 导入excel表格数据转换为对象存储
    苹果手机(ios)拍照上传图片旋转90度问题---java后台处理
    event兼容性解决
    event兼容性解决
    [CodeVS4919]线段树练习4
    [CodeVS4919]线段树练习4
    [CodeVS4919]线段树练习4
    Cocos2D-X2.2.3学习笔记12(瞬时动作)
    Cocos2D-X2.2.3学习笔记12(瞬时动作)
  • 原文地址:https://www.cnblogs.com/lexus168/p/13911680.html
Copyright © 2020-2023  润新知