zoukankan      html  css  js  c++  java
  • adb常用命令汇总

    场景

    • adb devices ------查看连接设备

    • adb install 路径 ------安装apk

    • adb shell pm clear com.xx ------清除app数据数据

    • adb logcat |findstr START

    ------获取待测APP的包名,启动待测APP,日志中cmp和反斜杠/之间的信息即为包名

    • adb logcat | findstr Displayed

    ------adb获取当前页面的activity

    • adb shell dumpsys window windows |grep -E 'com.xx'

    ------adb获取当前页面的activity

    • aapt dump badging apk路径
    • ------查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各种详细信息

    adb shell pm 相关命令

    adb shell pm list packages ------列出所有应用

    adb shell pm list packages -s ------列出系统应用

    adb shell pm list packages -3 ------列出第三方应用

    比如要查看包名包含字符串 test 的应用列

    adb shell pm list packages test或

    adb shell pm list packages |grep test

    adb shell dumpsys

    • adb shell dumpsys window policy|findstr mScreenOnFully 判断设备是否锁屏和黑屏状 若为true,即为点亮状态 若为false,即为黑屏状态

    • adb shell dumpsys activity---------------查看ActvityManagerService 所有信息

    • adb shell dumpsys activity activities----------查看Activity组件信息

    • adb shell dumpsys activity services-----------查看Service组件信息

    • adb shell dumpsys activity providers----------查看ContentProvider组件信息

    • adb shell dumpsys activity broadcasts--------查看BraodcastReceiver信息

    • adb shell dumpsys activity intents--------------查看Intent信息

    • adb shell dumpsys activity processes---------查看进程信息

    补充如下

    linux:

    adb shell dumpsys activity | grep "mFocusedActivity"

    windows:

    adb shell dumpsys activity | findstr "mFocusedActivity"

    • adb shell dumpsys package

    包信息 Package Information

    • adb shell dumpsys meminfo

    内存使用情况Memory Usage

    • adb shell dumpsys display | findstr DisplayDeviceInfo

    adb shell am

    am(ActivityManager) 响应时间测试(实际APP测试不能以此作为判断标准 )

    adb shell am start -W com.wuba/.home.activity.HomeActivity
    adb shell am start -W com.wuba/.activity.launch.LaunchActivity
    如果只关心某个应用自身启动耗时,参考TotalTime;
    如果关心系统启动应用耗时,参考WaitTime;
    如果关心应用有界面Activity启动耗时,参考ThisTime。

    adb shell monkey

    常用组合

    adb shell monkey -p com.xx --ignore-crashes --ignore-timeouts --ignore-security-exceptions --pct-syskeys 0 --throttle 200 500000 >sdcard/huaweimonkey0725.txt

    其中com.xx指包名,如何获取adb logcat | findstr Displayed

    200 为延迟时间--throttle,单位毫秒

    500000为事件数

    0为系统事件百分比 --pct-syskeys

    --ignore-crashes 忽视应用 crash 报错,不指定该参数时,

    应用出现 crash,monkey 会自动停止发送事件,指定该参数后,

    mongkey 会在 crash 后也一直发送事件,知道所有事件发送完成

    --ignore-timeouts 忽视超时导致的错误,即ANR的错误

    --ignore-security-exceptions 忽视权限方面的错误

    --monitor-native-crashes 监控由 C/C++ 代码引起的 crash

    --ignore-native-crashes 忽视由 C/C++ 代码引起的 crash

    --kill-process-after-error 当出现错误后杀掉应用的进程

    --hprof 指定该选项后,monkey会在发送事件完成后生成性能

    报告,报告一般存放于/data/misc目录下

    如何停止monkey

    adb shell

    ps | grep monkey

    返回来的第一个数字,即是monkey的进程号

    shell 7772 185 277516 22244 ffffffff 4010a58c S com.Android.commands.monkey

    kill 命令结束进程继续输入:

    kill 7772[刚才查到的进程号

    如何获取monkey日志

    adb shell monkey执行完查看崩溃日志 【Android】抓取log(anr)

    第一步:adb shell

    第二步:cd /data/anr(如果有anr目录继续执行第三步,如果没有

    会提示没有此目录,那就不需要在去traces.txt文件了)

    第三步:ls(查看存在的traces.txt 文件)

    第四步:Ctrl+C退出,然后输入adb pull /data/anr/traces.txt E: 把traces.txt文件导入到E盘

    ANRs (“Application Not Responding”),意思是”应用没有响应“。

    monkey问题定位

    monkey日志分析
    monkey问题分类
    monkey问题原因
    monkey问题解决
    monkey问题复测

    adb shell ps

    执行完adb shell ps

    USER PID PPID VSIZE RSS WCHAN PC NAME

    fu0_a349 31658 481 2405608 180692 ffffffff 00000000 S

    USER: 进程的当前用户;

    PID : 毫无疑问, process ID的缩写,也就进程号;

    PPID :process parent ID,父进程ID

    VSIZE : virtual size,进程虚拟地址空间大小;

    RSS : 进程正在使用的物理内存的大小;

    WCHAN :进程如果处于休眠状态的话,在内核中的地址;

    PC : program counter,

    NAME: process name,进程的名称

    adb shell wm

    命令查看屏幕尺寸

    如何获取 方法一
    adb shell dumpsys window displays |head -n 3 输出类似如下信息:
    WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays) Display: mDisplayId=0 init=1080x1920 440dpi cur=1080x1920 app=1080x1920 rng=1080x1025-1920x1865

    1080x1920 就是屏幕分辨率。
    方法二 adb shell wm size

    如何获取 (1)修改分辨率 adb shell wm size 1080x1920 adb shell wm size reset (2) 修改dpi adb shell wm density 480 adb shell wm desity reset

    adb logcat

    adb logcat | findstr Displayed

    ------adb获取当前页面的activity adb logcat 主要功能 logcat (四类log buffer是main,radio,system,events)

    • adb logcat -v time > logcat.txt //默认是-b main -b system
    • adb logcat -v time -b main //main log
    • adb logcat -v time -b radio //radio log
    • adb logcat -v time -b system //system log
    • adb logcat -v time -b events

    通过tcp命令连接手机(非USB连接)

    • 首先通过USB线唤醒server,adb start -server,
    • 之后执行adb tcpip 5555,重置端口号:5555 ,
    • 查找手机IP后,执行adb connect ip + 连接成功后可以断开手机,执行adb -s 10.252.221.202:5555 shell monkey -p com.wuba -v 1000 等相关任务

    补充:server与client通讯端口5037, adb server会与emulator交互,使用的端口有两个,一个是5554专用与emulator实例的连接,那么数据可以从emulator转发给IDE控制台,另一个则是5555,专门与adb daemon连接为后面调试使用

    测试APP是否过量耗电

    adb shell logcat -v time 导出log中sending alarm行不含待测应用包名。若存在,则需要关注type为0和2的sending alarm是否频繁,若出现多次则说明有可能会造成过量耗电。

  • 相关阅读:
    Codeforces Global Round 11 E Xum
    【NFLSPC #2】Polynomial
    【SHOI2015】脑洞治疗仪 题解 (线段树)
    CDQ分治与整体二分 学习笔记
    二维树状数组 学习笔记
    博弈论 学习笔记
    【JSOI2007】文本生成器 题解(AC自动机+动态规划)
    【NOI2018】归程 题解(kruskal重构树+最短路)
    【NOI2017】游戏 题解(2-SAT+缩点)
    【BZOJ4398】福慧双修 题解(建图优化)
  • 原文地址:https://www.cnblogs.com/echoqi/p/10476078.html
Copyright © 2011-2022 走看看