APP测试—测试工具认识ADB

1 ADB是什么?

  • ADB,即Android Debug Bridge,它是Android 开发/测试不可替代的强大工具;
  • ADB是一个客户端 — 服务器端程序,其中客户端是你用来操作的电脑,服务器端是Android设备。

2 ADB的主要功能

  • 运行设备的shell;
  • 管理模拟器或设备的端口映射;
  • 计算机和设备之间的上传/下载文件;
  • 讲本地apk软件安装至模拟器或Android设备。

3 adb服务使用的端口号:5037

  1. PC端的手机助手,如360手机助手、豌豆荚、应用宝等,安装第三方应用方便,基本上可以通过adb命令完成,需要注意自带的adb程序可能会与Android
    SDK下的adb程序产生冲突,5037端口被占用,导致使用adb命令时无法连接到设备。
  2. 运行在PC段的Service,其管理客户端到Android 设备上adb后台进程的连接;
    adb服务启动后,Windows可以在任务管理器中找到adb.exe这个进程

4 ADB常用命令

1)adb devices:获取当前连接的Android设备列表及设备状态
在这里插入图片描述

使用安卓模拟器:genymotion,运行速度快,CPU占用率低
在这里插入图片描述

2)adb get-state:获取设备的状态
状态有3种:device、offline、unknown
device:设备正常连接;
offiline:连接出现异常,设备无响应;
unknown:没有连接设备。
在这里插入图片描述

3)adb install 包名
(后面跟的参数是应用包名,请区别于apk文件名系统包不要随意卸载)
安装实例
在这里插入图片描述

卸载为: adb uninstall com.netease.qa.emmagee
覆盖安装:adb install -r 包名

问题:这里直接安装报错了 根据genymotion的版本下载对应的Genymotion-ARM-Translation.zip拖入到手机模拟器里面。
将下载好的文件直接拖虚拟手机里面,重启手机模拟器后

再次执行安装命令,安装成功!!
下载网址:Genymotion-ARM-Translation.zip
链接:https://pan.baidu.com/s/19Tm-wUdNV44LW8h07UM00A
提取码:yz1y

报错截图:
在这里插入图片描述
解决问题后截图:
在这里插入图片描述

4)使用ddms 查看app目录路径

问题:输入ddms,Dalvik Debug Monitor 弹框 Nam列内容为空,使用模拟器的app无日志产生。

解决办法如下:

  • 输入“NETSH WINSOCK RESET CATALOG”, 按回车键;是重置winsock目录;重新初始化网络环境,以解决由于软件冲突、病毒原因造成的参数错误问题。
  • 重启电脑即可

实例:使用查看包名,来卸载app

  • 在弹框里面,点击需要知道app的应用,选择info级别右键选择filter…弹框复制包名

在这里插入图片描述

  • 在命令行输入代码如下:

在这里插入图片描述

  • 卸载成功!!!

5)adb push <本地文件> <远程路径>

上传文件,把本地文件放到远程

  • 首先要知道本地文件的路径、远程路径(/data/local)

  • 例如: adb push D:\test1.txt /data/local

注:删除文件命令 rm -r /data/test1.txt

下面是上传文件实例,本地上传到远程

  • 进入shell脚本,查看/data/local下面的文件

在这里插入图片描述
在这里插入图片描述

  • adb push 命令push文件到/data/local

在这里插入图片描述

  • 进入shell脚本,查看文件push 成功

在这里插入图片描述
6)adb pull <远程文件> <本地文件>:下载文件,从模拟器拉下文件到本地

实例:模拟器/data/local目录下test1.txt文件拉下到本地文件e:/Code
在这里插入图片描述

7)adb shell:可以使用命令进入并控制Android 手机(# (管理员)、$(普通用户))
adb命令时adb程序自带的一些命令,adb shell是调用Android系统中的命令,这些Android特有的命令都放在了Android 设备的system/bin目录下

8)adb kill -server:结束服务

9)adb start-server:启动服务

10)adb remount:获取root权限,并挂载系统文件系统为可读写状态

11)adb shell mount -o remount rw /,修改系统读写权(注意:/表示的是根目录,因此这个不仅仅是对sdcard,其他文件也可以读写。rw表示读写权限,mount重挂载文件系统)

12)adb -s < deviceid> logcat

13)adb get-serialno 获取序列号 (emulator-5554)

5 adb shell pm 命令

pm:package manager,可以用来获取到一些安装在Android设备上的应用信息,用来执行应用的安装及查询,系统权限,控制应用。

pm的源码pm.java直接运行adb shell pm 可以获取到该命令的帮助信息

1)pm list packages:列出安装在设备上的应用,查看所有包,没有类名。

2)pm install xxx.apk:讲设备上的安装文件进行安装

3)pm uninstall 包名:删除应用程序 同adb uninstall

实例卸载轻推应用

  • 使用ddms命令获取已安装的包名:com.cisdi.im
  • 使用卸载应用,卸载成功

在这里插入图片描述

pm install 与 adb install的区别:

1)目标apk存放于PC端,使用adb install 安装。

2)目标apk存放于Android 设备上,请用pm install安装。

步骤1:把pc端安装包放到模拟器上面
在这里插入图片描述
步骤2 :输入安装命令,进行安装,安装成功出现success

注意:在安装包的目录下可以不用写路径

在这里插入图片描述在这里插入图片描述

6 adb shell am命令

am: activity manager,管理活动,打开或关闭进程

6.1 adb shell am start -n 包名/类名,启动activity

实例:打开相机

  • 执行后adb shell am start -n com.android.camera/.Camera
  • 模拟器已打开相机应用

在这里插入图片描述

6.2 adb shell am force-stop 包名,关闭 activity(强制关闭)

实例:关闭相机

  • 执行命令:adb shell am force-stop com.android.camera
  • 关闭相机成功

在这里插入图片描述

7 adb shell keycode 模拟按键事件

input 这个命令可以向Android设备发送按键事件。

adb shell input keyevent :如下

每个数字与keycode对应表如下:
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”

KEYCODE_CALL 拨号键 5
KEYCODE_ENDCALL 挂机键 6
KEYCODE_HOME 按键Home 3
KEYCODE_MENU 菜单键 82
KEYCODE_BACK 返回键 4
KEYCODE_SEARCH 搜索键 84
KEYCODE_CAMERA 拍照键 27
KEYCODE_FOCUS 拍照对焦键 80
KEYCODE_POWER 电源键 26
KEYCODE_NOTIFICATION 通知键 83
KEYCODE_MUTE 话筒静音键 91
KEYCODE_VOLUME_MUTE 扬声器静音键 164
KEYCODE_VOLUME_UP 音量增加键 24
KEYCODE_VOLUME_DOWN 音量减小键 25

KEYCODE_ENTER 回车键 66
KEYCODE_ESCAPE ESC键 111
KEYCODE_DPAD_CENTER 导航键 确定键 23
KEYCODE_DPAD_UP 导航键 向上 19
KEYCODE_DPAD_DOWN 导航键 向下 20
KEYCODE_DPAD_LEFT 导航键 向左 21
KEYCODE_DPAD_RIGHT 导航键 向右 22
KEYCODE_MOVE_HOME 光标移动到开始键 122
KEYCODE_MOVE_END 光标移动到末尾键 123
KEYCODE_PAGE_UP 向上翻页键 92
KEYCODE_PAGE_DOWN 向下翻页键 93
KEYCODE_DEL 退格键 67
KEYCODE_FORWARD_DEL 删除键 112
KEYCODE_INSERT 插入键 124
KEYCODE_TAB Tab键 61
KEYCODE_NUM_LOCK 小键盘锁 143
KEYCODE_CAPS_LOCK 大写锁定键 115
KEYCODE_BREAK Break/Pause键 121
KEYCODE_SCROLL_LOCK 滚动锁定键 116
KEYCODE_ZOOM_IN 放大键 168
KEYCODE_ZOOM_OUT 缩小键 169

KEYCODE_ALT_LEFT Alt+Left
KEYCODE_ALT_RIGHT Alt+Right
KEYCODE_CTRL_LEFT Control+Left
KEYCODE_CTRL_RIGHT Control+Right
KEYCODE_SHIFT_LEFT Shift+Left
KEYCODE_SHIFT_RIGHT Shift+Right

KEYCODE_0 按键’0’ 7
KEYCODE_1 按键’1’ 8
KEYCODE_2 按键’2’ 9
KEYCODE_3 按键’3’ 10
KEYCODE_4 按键’4’ 11
KEYCODE_5 按键’5’ 12
KEYCODE_6 按键’6’ 13
KEYCODE_7 按键’7’ 14
KEYCODE_8 按键’8’ 15
KEYCODE_9 按键’9’ 16
KEYCODE_A 按键’A’ 29
KEYCODE_B 按键’B’ 30
KEYCODE_C 按键’C’ 31
KEYCODE_D 按键’D’ 32
KEYCODE_E 按键’E’ 33
KEYCODE_F 按键’F’ 34
KEYCODE_G 按键’G’ 35
KEYCODE_H 按键’H’ 36
KEYCODE_I 按键’I’ 37
KEYCODE_J 按键’J’ 38
KEYCODE_K 按键’K’ 39
KEYCODE_L 按键’L’ 40
KEYCODE_M 按键’M’ 41
KEYCODE_N 按键’N’ 42
KEYCODE_O 按键’O’ 43
KEYCODE_P 按键’P’ 44
KEYCODE_Q 按键’Q’ 45
KEYCODE_R 按键’R’ 46
KEYCODE_S 按键’S’ 47
KEYCODE_T 按键’T’ 48
KEYCODE_U 按键’U’ 49
KEYCODE_V 按键’V’ 50
KEYCODE_W 按键’W’ 51
KEYCODE_X 按键’X’ 52
KEYCODE_Y 按键’Y’ 53
KEYCODE_Z 按键’Z’ 54

KEYCODE_MEDIA_PLAY 多媒体键 播放
KEYCODE_MEDIA_STOP 多媒体键 停止
KEYCODE_MEDIA_PAUSE 多媒体键 暂停
KEYCODE_MEDIA_PLAY_PAUSE 多媒体键 播放/暂停
KEYCODE_MEDIA_FAST_FORWARD 多媒体键 快进
KEYCODE_MEDIA_REWIND 多媒体键 快退
KEYCODE_MEDIA_NEXT 多媒体键 下一首
KEYCODE_MEDIA_PREVIOUS 多媒体键 上一首
KEYCODE_MEDIA_CLOSE 多媒体键 关闭
KEYCODE_MEDIA_EJECT 多媒体键 弹出
KEYCODE_MEDIA_RECORD 多媒体键 录音

KEYCODE_F1 按键F1
KEYCODE_F2 按键F2
KEYCODE_F3 按键F3
KEYCODE_F4 按键F4
KEYCODE_F5 按键F5
KEYCODE_F6 按键F6
KEYCODE_F7 按键F7
KEYCODE_F8 按键F8
KEYCODE_F9 按键F9
KEYCODE_F10 按键F10
KEYCODE_F11 按键F11
KEYCODE_F12 按键F12

KEYCODE_PLUS 按键’+’
KEYCODE_MINUS 按键’-’
KEYCODE_STAR 按键’*’
KEYCODE_SLASH 按键’/’
KEYCODE_EQUALS 按键’=’
KEYCODE_AT 按键’@’
KEYCODE_POUND 按键’#’
KEYCODE_APOSTROPHE 按键’’’ (单引号)
KEYCODE_BACKSLASH 按键’’
KEYCODE_COMMA 按键’,’
KEYCODE_PERIOD 按键’.’
KEYCODE_LEFT_BRACKET 按键’[’
KEYCODE_RIGHT_BRACKET 按键’]’
KEYCODE_SEMICOLON 按键’;’
KEYCODE_GRAVE 按键’`’
KEYCODE_SPACE 空格键

KEYCODE_NUMPAD_0 小键盘按键’0’
KEYCODE_NUMPAD_1 小键盘按键’1’
KEYCODE_NUMPAD_2 小键盘按键’2’
KEYCODE_NUMPAD_3 小键盘按键’3’
KEYCODE_NUMPAD_4 小键盘按键’4’
KEYCODE_NUMPAD_5 小键盘按键’5’
KEYCODE_NUMPAD_6 小键盘按键’6’
KEYCODE_NUMPAD_7 小键盘按键’7’
KEYCODE_NUMPAD_8 小键盘按键’8’
KEYCODE_NUMPAD_9 小键盘按键’9’
KEYCODE_NUMPAD_ADD 小键盘按键’+’
KEYCODE_NUMPAD_SUBTRACT 小键盘按键’-’
KEYCODE_NUMPAD_MULTIPLY 小键盘按键’*’
KEYCODE_NUMPAD_DIVIDE 小键盘按键’/’
KEYCODE_NUMPAD_EQUALS 小键盘按键’=’
KEYCODE_NUMPAD_COMMA 小键盘按键’,’
KEYCODE_NUMPAD_DOT 小键盘按键’.’
KEYCODE_NUMPAD_LEFT_PAREN 小键盘按键’(’
KEYCODE_NUMPAD_RIGHT_PAREN 小键盘按键’)’
KEYCODE_NUMPAD_ENTER 小键盘按键回车

1) adb shell keyevent X

实例1:从当前页面回到主页面在这里插入图片描述
实例2:从当前页面回到上个页面
在这里插入图片描述
实例3:拨号
在这里插入图片描述

2)adb shell input text abc:发送文本内容,不能发送中文(前提先将键盘设置为英文键盘,并打开文本编辑器)

3)adb shell screencap -p /data/local/screen.jpg:截图命令
给系统文件赋予读写权限 adb remount

截图实例如下:
在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值