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)