• 常用ADB命令整理已经ADB键盘输入


    我们在测试Android app过程中 需要经常更换安装包的操作 熟练使用ADB命令可以提升测试效率

    * 查看设备
    adb devices
    ps这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
    若有多台安卓设备,可以通过在adb后面加上 -s <设备id> 对指定设备进行装包、卸载等操作

    *启动adb
    adb start-server

    *关闭adb
    adb kill-server

    * 安装软件
    adb install

    * 卸载软件 
    adb uninstall <应用进程名>

    *卸载app但保留数据和缓存文件
    adb uninstall -k

    *重新启动设别
    adb reboot

    *重启到bootloader,即刷机模式
    adb reboot bootloader

    *重启到recovery,即恢复模式
    adb reboot recovery

    *从电脑上发送文件到设备
    adb push <本地路径> <远程路径>
    ps: 用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
     

    *从设备上下载文件到电脑
    adb pull <远程路径> <本地路径>
    ps: 用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

    *取得设备root权限
    adb remount

    *登录设备shell
    adb shell
    adb shell
    ps: adb shell 后面加的是linux系统操作指令,也即直接运行设备命令, 相当于执行远程命令

    -查看手机产线版本
    adb shell cat /sys/devices/mx_tsp/appid

    -查看手机运营商版本
    adb shell cat /proc/lk_info/sw_version

    -查看手机是否加密
    adb shell cat /proc/lk_info/sec(返回0则非加密。1则加密)

    -查看手机型号
    adb shell getprop ro.build.product

    -安卓版本
    adb shell getprop version.release

    -查看flyme版本
    adb shell getprop ro.build.display.id

    *使用adb命令对手机进行截屏并拷贝到电脑
    adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到手机)
    adb pull /sdcard/screenshot.png d:/screenshot.png(拷贝到电脑)

    *录制设备屏幕
    adb shell screenrecord--bugreport /sdcard/xxx.mp4

    *查看性能
    adb shell dumpstate

    ps其输出内容主要包括以下内容

    a.设备基本信息
    b.内存使用情况
    c.CPU使用情况
    d./proc文件夹中保存的系统各种实时信息,特别是内存使用方面的详细信息,如用procrank命令获取的按内存使用率情况排序的进程列表
    e.内核的一些信息
    f.进程列表
    g.各种进程中的线程列表以及各线程的堆栈信息
    h.各进程打开的文件
    i.Logcat中的三个环状日志的内容,分别是系统主日志SYSTEM、事件日志EVENT和无线电日志RADIO
    j.网络相关的信息
    k.df命令输入的文件系统使用率信息
    l.系统中安装的应用包信息
    m.dumpsys命令输出的信息
    n.正在运行的应用列表
    o.正在运行的服务列表
    p.正在运行的内容供应组件列表

    *输出当前servers信息
    adb shell dumpsys 
    ps: 输出信息的开始部分就是所有运行的service
    -查询到运行的system service后,就可以在dumpsys后面加上service的名字,查看指定的service信息。
    adb shell dumpsys activity
    adb shell dumpsys cpuinfo(CPU)
    adb shell dumpsys batterystate(电池)
    adb shell dumpsys window(分辨率)
     
    *检测手机运行时间
    adb shell uptime

    *查看logcat日志
    adb logcat -v time-s tag > xxx.log
    ps: 其中-v time使输出的日志带时间信息,-s用于通过tag过滤日志(也可以通过管道grep过滤),> 使保存到本地文件。若直接在终端查看日志,则不加。
    adb logcat | grep <正则表达式>
    ps: grep后为正则表达式
    adb logcat | grep <正则表达式> | tee xxx.log
    ps:使用 tee可以实现同时在终端输出且保存到文件

    *模拟系统按键
    adb shell inputkeyevent <数值>

    具体数值对应的按键如下
    0 -->  "KEYCODE_UNKNOWN"
    1 -->  "KEYCODE_MENU"
    2 -->  "KEYCODE_SOFT_RIGHT"
    3 -->  "KEYCODE_HOME"
    4 -->  "KEYCODE_BACK"
    5 -->  "KEYCODE_CALL"
    6 -->  "KEYCODE_ENDCALL"
    7 -->  "KEYCODE_0"
    8 -->  "KEYCODE_1"
    9 -->  "KEYCODE_2"
    10 -->  "KEYCODE_3"
    11 -->  "KEYCODE_4"
    12 -->  "KEYCODE_5"
    13 -->  "KEYCODE_6"
    14 -->  "KEYCODE_7"
    15 -->  "KEYCODE_8"
    16 -->  "KEYCODE_9"
    17 -->  "KEYCODE_STAR"
    18 -->  "KEYCODE_POUND"
    19 -->  "KEYCODE_DPAD_UP"
    20 -->  "KEYCODE_DPAD_DOWN"
    21 -->  "KEYCODE_DPAD_LEFT"
    22 -->  "KEYCODE_DPAD_RIGHT"
    23 -->  "KEYCODE_DPAD_CENTER"
    24 -->  "KEYCODE_VOLUME_UP"
    25 -->  "KEYCODE_VOLUME_DOWN"
    26 -->  "KEYCODE_POWER"
    27 -->  "KEYCODE_CAMERA"
    28 -->  "KEYCODE_CLEAR"
    29 -->  "KEYCODE_A"
    30 -->  "KEYCODE_B"
    31 -->  "KEYCODE_C"
    32 -->  "KEYCODE_D"
    33 -->  "KEYCODE_E"
    34 -->  "KEYCODE_F"
    35 -->  "KEYCODE_G"
    36 -->  "KEYCODE_H"
    37 -->  "KEYCODE_I"
    38 -->  "KEYCODE_J"
    39 -->  "KEYCODE_K"
    40 -->  "KEYCODE_L"
    41 -->  "KEYCODE_M"
    42 -->  "KEYCODE_N"
    43 -->  "KEYCODE_O"
    44 -->  "KEYCODE_P"
    45 -->  "KEYCODE_Q"
    46 -->  "KEYCODE_R"
    47 -->  "KEYCODE_S"
    48 -->  "KEYCODE_T"
    49 -->  "KEYCODE_U"
    50 -->  "KEYCODE_V"
    51 -->  "KEYCODE_W"
    52 -->  "KEYCODE_X"
    53 -->  "KEYCODE_Y"
    54 -->  "KEYCODE_Z"
    55 -->  "KEYCODE_COMMA"
    56 -->  "KEYCODE_PERIOD"
    57 -->  "KEYCODE_ALT_LEFT"
    58 -->  "KEYCODE_ALT_RIGHT"
    59 -->  "KEYCODE_SHIFT_LEFT"
    60 -->  "KEYCODE_SHIFT_RIGHT"
    61 -->  "KEYCODE_TAB"
    62 -->  "KEYCODE_SPACE"
    63 -->  "KEYCODE_SYM"
    64 -->  "KEYCODE_EXPLORER"
    65 -->  "KEYCODE_ENVELOPE"
    66 -->  "KEYCODE_ENTER"
    67 -->  "KEYCODE_DEL"
    68 -->  "KEYCODE_GRAVE"
    69 -->  "KEYCODE_MINUS"
    70 -->  "KEYCODE_EQUALS"
    71 -->  "KEYCODE_LEFT_BRACKET"
    72 -->  "KEYCODE_RIGHT_BRACKET"
    73 -->  "KEYCODE_BACKSLASH"
    74 -->  "KEYCODE_SEMICOLON"
    75 -->  "KEYCODE_APOSTROPHE"
    76 -->  "KEYCODE_SLASH"
    77 -->  "KEYCODE_AT"
    78 -->  "KEYCODE_NUM"
    79 -->  "KEYCODE_HEADSETHOOK"
    80 -->  "KEYCODE_FOCUS"
    81 -->  "KEYCODE_PLUS"
    82 -->  "KEYCODE_MENU"
    83 -->  "KEYCODE_NOTIFICATION"
    84 -->  "KEYCODE_SEARCH"
    85 -->  "TAG_LAST_KEYCODE"
    所以,adb shell input keyevent 4 为返回系统主页,adb shell input keyevent 24 为增加音量

    *强制杀死进程
    adb shell amforce-stop <进程名>

    *启动指定Activity
    adb shell am start-n <进程名> /

    *开关wifi
    adb shell svc wifienable #打开wifi
    adb shell svc wifidisable #关闭wifi

    *查看wifi密码
    adb shell cat /data/misc/wifi/*.conf

    *获取序列号
    adb get-serialno

    *查看设备cpu和内存占用情况
    adb shell top

    *查看占用内存前6的app
    adb shell top -m 6

    *刷新一次内存信息,然后返回
    adb shell top -n 1

    *查询各进程内存使用情况
    adb shell procrank

    *杀死一个进程
    adb shell kill[pid]

    *查看进程列表
    adb shell ps

    *查看指定进程状态
    adb shell ps -x[PID]

    *查看后台services信息
    adb shell servicelist

    *查看当前内存占用
    adb shell cat /proc/meminfo

    *查看IO内存分区
    adb shell cat /proc/iomem

    *重命名文件
    adb shell rename <原文件名> <修改后文件名>

    *删除system/avi.apk
    adb shell rm/system/avi.apk

    *删除文件夹及其下面所有文件
    adb shell rm -r<文件夹>

    *移动文件
    adb shell mv <原文件路径> <移动后文件路径>

    *设置文件权限
    adb shell chmod 777 <文件>

    *新建文件夹
    adb shell mkdir path/foldelname

    *查看文件内容
    adb shell cat

    *清除log缓存
    adb logcat -c

    *查看bug报告
    adb bugreport

    *获取设备名称
    adb shell cat /system/build.prop

    *查看ADB帮助
    adb help

    *跑monkey
    adb shell monkey -v-p <进程名> <次数>

    *当adb 显示端口被占用,拒绝访问时的处理办法:
    adb nodaemon server//查看哪个端口被占用

    netstat -ano |findstr "<端口号>" //提示占用该端口的进程(非0地址)
    (下面步骤可省略,可通过任务管理器杀死)
    tasklist /fi “PIDeq <进程号>”//通过pid查看所有进程
    taskkill /pid <进程号> /f//杀死进程


     

  • 相关阅读:
    聊聊平板相控阵天线
    使用matlab辨识工具来估算震动系统的传递函数
    谷歌浏览器开发者工具操作手册
    9.6 并查集
    6种常见三维曲面的Three.js实现
    python 多线程
    Unit 2 uni-app入门
    LInux驱动开发笔记(十)SPI子系统及其驱动
    Ubuntu 内核降级到指定版本
    css flex实现同行div根据内容高度自适应且保持一致
  • 原文地址:https://blog.csdn.net/qq_30273575/article/details/136254563