在安卓测试过程中,QA经常需要进行装包、卸载以及重启等安卓设备的操作,熟练使用ADB命令,可以提高测试效率。

下面将对常用的ADB命令进行整理,后续不定期补充更新。

* 查看设备
adb devices
ps这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

若有多台安卓设备,可以通过在adb后面加上 -s <设备id> 对指定设备进行装包、卸载等操作

*启动adb

adb start-server

*关闭adb

adb kill-server

* 安装软件
adb install <apk文件路径>

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

*卸载app但保留数据和缓存文件

adb uninstall -k<package>

*重新启动设别

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<command命令>
ps: adb shell 后面加的是linux系统操作指令,也即直接运行设备命令, 相当于执行远程命令

-查看手机产线版本

adb shellcat/sys/devices/mx_tsp/appid

-查看手机运营商版本

adb shellcat/proc/lk_info/sw_version

-查看手机是否加密

adb shellcat/proc/lk_info/sec(返回0则非加密。1则加密)

-查看手机型号

adb shell getpropro.build.product

-安卓版本

adb shell getpropversion.release

-查看flyme版本

adb shell getpropro.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 <进程名> /<Acitvity>

*开关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 mkdirpath/foldelname

*查看文件内容

adb shell cat<file>

*清除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//杀死进程

安卓测试基础入门——ADB命令相关推荐

  1. 视频教程-Kali Linux渗透测试基础入门到进阶实战全程课-渗透测试

    Kali Linux渗透测试基础入门到进阶实战全程课 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥499.00 立即订阅 ...

  2. Android终端测试-常用的ADB命令

    作为一个终端测试来说,adb命令绝对是必备且常用的工具,不管是使用adb工具来抓取设备日志还是操作设备,都是比较方便的. 下面命令是在某信工作几年中经常用的的adb命令,主要用来操作TV端(Andro ...

  3. APP测试常用的adb命令以及Monkey测试汇总篇

    1.显示系统中全部设备: adb devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 adb devices 2.开启或关闭ADB服务 开启服务: ...

  4. 移动端测试必备技能: adb命令和抓包

    移动端测试 是指对移动应用进行的测试,即实体的特性满足需求的程度,进行测试前需要搭建测试环境. 1 移动端自动化环境搭建 1.1 java安装 java JDK 安装jdk-8u181-windows ...

  5. 安卓开发常用的adb命令

    常用adb命令: 1. 查看设备尺寸:adb shell wm size 2.改变设备屏幕显示尺寸比例:adb shell wm size 1920x720 3.恢复设备屏幕原来的显示尺寸比例:adb ...

  6. 安卓源码预置ADB命令-导航栏三个按键的显示与隐藏

    实现目标 adb 发送对应广播,实现导航栏按钮的显示与隐藏 方法详解 路径 vendor\mediatek\proprietary\packages\apps\SystemUI\src\com\and ...

  7. 安卓开发基础入门系列教程

    第一章:环境搭建与开发相关(已完结 10/10) https://blog.csdn.net/coder_pig/article/details/50000773 Android基础入门教程--1.1 ...

  8. 渗透测试-基础入门-web源码拓展_4

    一如既往的学习,一如既往的整理,一如既往的分享 一.前言 web源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做信息突破口,其中WEB源码有很多技术需要简明分析. 比如:获取AS ...

  9. 渗透测试-基础入门-概念名词_1

    以下内容都是在小迪网课中学到的,写的不好,请多多指教 一.域名 1. 什么是域名 域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的internet上某一台计算机或计算机组的 ...

最新文章

  1. LeetCode简单题之两数之和 IV - 输入 BST
  2. 区块如何防篡改_深入浅出:一条数据是如何完成上链的
  3. mysql 前索引_MySQL查询性能优化前,必须先掌握MySQL索引理论
  4. Linux(Centos7)下安装Redis(redis-5.0.8)
  5. 联合概率分布的学习笔记
  6. 网络负载平衡(Network Load Balancing)的工作原理
  7. [转载] pandas DataFrame apply()函数(1)
  8. Leetcode 200.岛屿数量
  9. Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(二)
  10. 89C51流水灯代码示例,带proteus项目
  11. 2000-2020年中国地面气象数据:从NOAA到分省面板
  12. WordPress发布插件,WordPress定时采集伪原创发布插件
  13. PX4-小型固定翼滑跑起飞问题分析
  14. 计算机软件著作权查询网址
  15. BZOJ4939 [YNOI2016]掉进兔子洞
  16. 大数据在车联网行业的实践与应用
  17. 梆梆加固,启动就闪退了
  18. 关于nginx连接被重置引发的网络协议工作解析
  19. 数据结构串、数组和广义表
  20. 携程旅行android pad客户端,携程发布Android Pad版 无线布局初步完成

热门文章

  1. python 小学生教材全解_小学生教材全解
  2. SpringBoot整合JavaMail通过阿里云企业邮箱发送邮件
  3. STATA如何查找命令的帮助文件
  4. OSChina 周日乱弹 ——会爬墙的不仅仅是壁虎还有班主任
  5. 2023年法定节假日配置Mysql
  6. selenium之浏览器弹出新窗口(新页面)
  7. linux网络引流工具,gor 引流快速入门
  8. linux系统怎么两个盘对拷,Linux分区对拷等小技巧
  9. 2018年大连民族大学全国计算机,走进高校:大连民族大学(附2019各省录取线)...
  10. CAD断面剖切符号怎么画?CAD断面剖切标注