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