ADB(Android Debug Bridge)用法总结
ADB(Android Debug Bridge)用法总结
作用:让win电脑通过命令行控制手机的各种行为。
亲测有效。
软件资源
ADB软件资源
链接:https://pan.baidu.com/s/1EkmwKrR0sNI1_FpQlObBeg
提取码:zcf6
注意要设置“系统环境变量”,否则无法使用ADB 命令。
华为手机驱动软件资源
链接:https://pan.baidu.com/s/1xjyV11HKdF-Tj0MB3DbUCQ
提取码:j3jw
参考教程:
[adb下载安装及使用]https://blog.csdn.net/weixin_43927138/article/details/90477966
[adb 模拟点击时间的命令]https://blog.csdn.net/stronking/article/details/100559801
ADB启动系统命令:
启动 adb server 命令:adb start-server
停止 adb server 命令:adb kill-server
查询已连接设备/模拟器:adb devices
手机USB连接:
在手机“设置”-“关于手机”连续点击“版本号”7 次,可以进入到开发者模式;
然后可以到“设置”-“开发者选项”-“调试”里打开USB调试以及允许ADB的一些权限;
连接时手机会弹出“允许HiSuite通过HDB连接设备”点击允许/接受即可;
查看是否有root权限:
输入adb shell,
输入su KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 5:
如果变为#̲则成功,如果仍为则未有root权限;
恢复命令:adb unroot
ADB操作手机系统性命令:
查看所有应用列表:adb shell pm list packages
查看系统应用列表:adb shell pm list packages -s
查看第三方应用列表:adb shell pm list packages -3:
安装apk:adb install “-lrtsdg” “path_to_apk”
```
“-lrtsdg”:-l:将应用安装到保护目录 /mnt/asec;
-r:允许覆盖安装;
-t:允许安装 AndroidManifest.xml 里 application 指定 android:testOnly=“true” 的应用;
-s:将应用安装到 sdcard;
-d:允许降级覆盖安装;
-g:授予所有运行时权限;
path_to_apk:apk的绝对路径。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
**示例安装淘宝apk**:adb install -l /data/local/tmp/taobao.apk
**卸载apk**:adb uninstall -k “packagename”
“packagename”:表示应用的包名,以下相同;
-k 参数可选,表示卸载应用但保留数据和缓存目录。
示例卸载 手机淘宝:adb uninstall com.taobao.taobao
查看应用详细信息命令:adb shell dumpsys package “packagename”
调起 Activity命令格式:adb shell am start [options]
例如:adb shell am start -n com.tencent.mm/.ui.LauncherUI表示调起微信主界面
强制停止应用命令:adb shell am force-stop “packagename”
例如强制停止淘宝:adb shell am force-stop com.taobao.taobao
查看设备信息型号命令:adb shell getprop ro.product.model
电池状况命令:adb shell dumpsys battery
显示屏参数:adb shell dumpsys window displays
android_id查看命令:adb shell settings get secure android_id
查看Android 系统版本:adb shell getprop ro.build.version.release
查看设备ip地址:adb shell ifconfig | grep Mask或者adb shell netcfg
查看CPU 信息命令:adb shell cat /proc/cpuinfo
查看内存信息命令:adb shell cat /proc/meminfo
如果PC要想同时控制多台Android手机,必须在adb 后面添加-s
例如:adb -s 13b6e4c4 shell input tap 400 400
表示对13b6e4c4这台Android手机进行在屏幕上(400,400)坐标位置进行模拟的点击事件。
## ADB操作手机常用功能:
滑动解锁:如果锁屏没有密码,是通过滑动手势解锁,那么可以通过 input swipe 来解锁。
命令:adb shell input swipe 300 1000 300 500
(其中参数 300 1000 300 500 分别表示起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标。)
adb shell input swipe
这条命令模拟Android手机从屏幕坐标(X1,Y1)滑动到坐标(X2,Y2)的操作
adb shell input tap
这条命令模拟Android手机在屏幕坐标(X,Y)处进行了点击操作。
输入文本:在焦点处于某文本框时,可以通过 input 命令来输入文本。
命令:adb shell input text *** (***即为输入内容)
屏幕分辨率命令:adb shell wm size
截图保存到电脑:adb shell screencap -p /sdcard/autojump.png
然后将 png 文件导出到电脑:adb pull /sdcard/autojump.png .
## ADB操作手机不常用功能:
模拟按键/输入:adb shell input keyevent keycode 不同的 keycode有不同的功能:
keycode 含义
3 HOME 键
4 返回键
5 打开拨号应用
6 挂断电话
26 电源键
27 拍照(需要在相机应用里)
61 Tab键
64 打开浏览器
67 退格键
80 拍照对焦键
82 菜单键
85 播放/暂停
86 停止播放
92 向上翻页键
93 向下翻页键
111 ESC键
112 删除键
122 移动光标到行首或列表顶部
123 移动光标到行末或列表底部
124 插入键
164 静音
176 打开系统设置
207 打开联系人
208 打开日历
209 打开音乐
220 降低屏幕亮度
221 提高屏幕亮度
223 系统休眠
224 点亮屏幕
224 点亮屏幕
224 点亮屏幕
231 打开语音助手
276 如果没有 wakelock 则让系统休眠
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 screenrecord /sdcard/filename.mp4
录制屏幕以 mp4 格式保存到 /sdcard,需要停止时按 Ctrl-C,默认录制时间和最长录制时间都是 180 秒。
如果需要导出到电脑:adb pull /sdcard/filename.mp4 .
## 使用python脚本自动运行cmd 命令
**在adb文件夹下建立一个python文件**
```python3
#运行脚本,发现与在命令行输入相同语句有同样的效果。
import os
os.system('adb shell input tap 100 100');
可以使用subprocess.Popen,最简单使用方式如下,设置shell=True,就不会弹出cmd框
1 | process = subprocess.Popen('adb shell input tap 14 1402',shell=True) |