android测试-adb常用命令汇总

1, adb简介

adb全名Andorid Debug Bridge. 顾名思义, 这是一个Debug工具.

然而, 为何称之为Bridge呢? 因为adb是一个标准的CS结构的工具, 是要连接开发电脑和你的调试手机的.包含如下几个部分:

Client端, 运行在开发机器中, 即你的开发PC机. 用来发送adb命令.

Deamon守护进程, 运行在调试设备中, 即的调试手机或模拟器.

Server端, 作为一个后台进程运行在开发机器中, 即你的开发PC机. 用来管理PC中的Client端和手机的Deamon之间的通信.

可以通过工具android studio 下载安装

2, 连接设备

1、进入开发者选项  手机的版本信息处或版本号,连续点击4次左右可以打开

2、打开调试模式,部分手机需要打开模拟点击,或者USB安装

3、连上电脑后,USB链接方式,选择传输文件、或者用作MIDI设备,来回切换尝试

4、解决占用:

Mac

sudo lsof -i tcp:5037

查看接口占用

adb nodaemon server 查看adb 端口

sudo lsof -i tcp:5037  检查 占用5037端口

kill pid

Win

netstat -aon|findstr 5037  检查5037 占用

taskkill /pid 5037 /f 杀掉进程

adb kill-server

adb start-server

3, 常用用法

Adb devices 列出当前链接得调试设备

Adb logcat 打印log

Adb -s 【devicesID】logcat

Adb logcat -c 清除log

Adbl logcat -v time 格式化输出log 显示时间

adb logcat -v time >【位置】【文件名.txt】

adb logcat -v time |grep 【string】  >位置

Adb install 【位置】【包名】

Adb install -r 【位置】【包名】

Adb uninstall com.smzdm.client.android   【举例 nexus 6】

 Adb  push 【位置】【文件】 /sdcard/ 拷贝本地文件到调试设备中

Adb  pull /sdcard/smzmd.apk ~/   从调试设备中拷贝文件到本地

Adb reboot 重启

4,更多用法

adb tcpip 5555 ;让设备在 5555 端口监听 TCP/IP 连接 adb connect 连接设备;adb devcies 确认设备; adb disconnect  断开链接

adb shell wm size 获取分辨率信息

adb shell getprop ro.build.version.release获取Android版本

adb shell getprop ro.product.brand 获取品牌

adb shell getprop ro.product.model 获取型号

adb shell screencap -p /sdcard/sc.png  截图

adb shell screenrecord /sdcard/filename.mp4 录制视频

add shell dumpsys package com.smzdm.client.android 打印包信息

adb  shell am force-stop com.smzdm.client.android    停止该包运行的一切内容

adb shell pm list packages -3  显示设备三方包 的包名

adb shell pm list packages -m 列出系统包名

adb shell pm list packages  列出所有包

adb shell dumpsys window w |findstr \/ |findstr name=获取当前正在运行的app包名、activity

5,mokey

adb shell monkey  -p  --throttle 380 -v -s 3500 300000 > C:\monkey_log.txt,这个monkey 命令,当monkey test 过程中遇到Crash 或者ANR,就会自动终止.

其中-p  后面接着的是你所要跑的Monkey的包名,如果用此参数指定了一个或几个包,Monkey将只允许系统启动这些包里的Activity。如果你的应用程序还需要访问其它包里的Activity(如选择取一个联系人),那些包也需要在此同时指定。如果不指定任何包,Monkey将允许系统启动全部包里的Activity。要指定多个包,需要使用多个-p选项,每个-p选项只能用于一个包。

--throttle  在事件之间插入固定延迟。通过这个选项可以减缓Monkey 的执行速度。如果不指定该选项,Monkey将不会被延迟,事件将尽可能快地被产成。命令中的380就是延迟时间,单位为毫秒。

-v  命令行的每一个-v 将增加反馈信息的级别。Level 0( 缺省值) 除启动提示、测试完成和最终结果之外,提供较少信息。Level 1 提供较为详细的测试信息,如逐个发送到Activity 的事件。Level 2 提供更加详细的设置信息,如测试中被选中的或未被选中的 Activity 事件。

-s   伪随机数生成器的 seed 值。如果用相同的seed 值再次运行Monkey ,它将生成相同的事件序列。命令中的300000 代表monkey event 执行的次数,3500表示Seed值(影响随机事件的发生顺序)

C:\monkey_log.txt 指将Monkey 的log存在PC端的C盘根目录下。

--ignore-crashes 用于指定当应用程序崩溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。

adb shell monkey -p com.huifenqi.huizhaofangapp -v 5000 跑monkey

adb shell monkey -p com.huifenqi.broker -v 1000


关于Monkey的其它命令,可以通过adb shell monkey来查看:

6、adb 交互点击

格式:adb shell input keyevent 数值

例如: adb shell input keyevent 26  电源键

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"

参考文献:

http://www.jianshu.com/p/5980c8c282ef

https://www.cnblogs.com/JianXu/p/5376642.html

http://blog.csdn.net/u010375364/article/details/52344120

你可能感兴趣的:(android测试-adb常用命令汇总)