zoukankan      html  css  js  c++  java
  • 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信息







  • 相关阅读:
    Leetcode Spiral Matrix
    Leetcode Sqrt(x)
    Leetcode Pow(x,n)
    Leetcode Rotate Image
    Leetcode Multiply Strings
    Leetcode Length of Last Word
    Topcoder SRM 626 DIV2 SumOfPower
    Topcoder SRM 626 DIV2 FixedDiceGameDiv2
    Leetcode Largest Rectangle in Histogram
    Leetcode Set Matrix Zeroes
  • 原文地址:https://www.cnblogs.com/lexus168/p/13911680.html
Copyright © 2011-2022 走看看