ADB 常用命令
-
启动adb服务
adb start-server
-
关闭adb服务
adb kill-server
-
wifi连接设备
开机后第一次需要执行,允许无线连接
adb tcpip 5555
从设备上查看ip地址后连接
adb connect 192.168.1.127
-
查看连接设备列表
adb devices
-
指定设备名
// adb -s 指定设备名(连接多个设备的情况下),例如: adb -s devicel install xxx.apk
-
把文件推(传递)到设备上
adb push xx.apk /sdcard/xx.apk
-
从手机下载文件到电脑
adb pull /sdcard/xx.apk
-
安装设备上指定apk文件
adb shell pm install /sdcard/*.apk
-
安装电脑上的apk到设备
adb install F:/apk/xx.apk // 安装包是debug包,就用 -t adb install -t F:/apk/xx.apk // 覆盖安装(强制安装)用 -r adb install -r F:/apk/xx.apk // 降版本安装 adb install -d F:/apk/xx.apk // 安装时赋予所有运行时权限 adb install -g F:/apk/xx.apk
-
卸载apk
adb uninstall <package name>
-
从已安装的设备导出 apk
adb shell pm path <package name> // 返回 package:/data/app/com.arcsoft.arcfacedemo-1/base.apk // 根据返回的内容下载下来 adb pull /data/app/com.arcsoft.arcfacedemo-1/base.apk F:/an/apks/ // 扩展,导出apk后再读取签名,可以比较安装的签名与自己准备使用的签名是否一致 //读取APK 的签名 jar tf xfj.apk | findstr RSA jar xf xfj.apk META-INF/CERT.RSA keytool -printcert -f META-INF/CERT.RSA
-
查看手机端安装的所有app包名:
adb shell pm list packages
-
屏幕截图
adb shell screencap -p /sdcard/screen.png // 如果设备有多个屏幕,使用 -d 区分屏幕,0 为主屏,1 第一个副屏 adb shell screencap -d 1 -p /sdcard/screen.png
-
录制视频
adb shell screenrecord /sdcard/demo.mp4
-
查看APP 的版本号
// 可以find versionCode、 versionName、 resourcePath 等 adb shell dumpsys package <package name> | findstr versionCode // 例如 adb shell dumpsys package com.arcsoft.arcfacedemo | findstr versionCode
-
ADB 命令查看当前的Activity
// adb shell dumpsys activity activities adb shell "dumpsys window windows | grep -E 'Current|topApp|mActivityRecord'"
- 查看屏幕密度、分辨率和屏幕信息
adb shell wm density adb shell wm size adb shell wm displays
- 设置屏幕方向:
adb shell settings put system user_rotation 0(/1/2/3)
- 查看文件(夹)大小
du -k|grep a.txt
- 打开链接:
adb shell am start -a android.intent.action.VIEW "https://www.baidu.com"
-
adb 启动app
adb shell am start <package name>/<activity name> // 例如: adb shell am start com.android.settings/.MainActivity
-
adb关闭某app
adb shell am force-stop <package name> // 例如: adb shell am force-stop com.arcsoft.arcfacedemo
-
查看CPU 信息
adb shell cat /proc/cpuinfo 或者 adb shell dumpsys cpuinfo
- 查看SN号:
adb shell getprop ro.serialno
- 获取机器MAC地址:
adb shell cat /sys/class/net/wlan0/address
-
查看内存信息
adb shell cat /proc/meminfo // 一般看前两项 MemTotal: 总内存 MemFree: 剩余内存 或者 adb shell dumpsys meminfo <package name> // PSS 下的 TOTAL为该应用占用的总内存
-
查看日志
adb logcat //或者进入 adb shell //后再输入 logcat //这种方式支持 grep,不进入shell 不能使用grep //日志过滤 adb logcat <TAG>:<LEVEL> <IGNORE>:S TAG:等级 忽略内容:S // Android Studio 日志过滤, 搜索框输入对应的内容或者正则表达式,比如 ^(?!.*(EmulatedCamera|XbhManagerService|chatty)).*$ // 就是过滤包含 EmulatedCamera、 XbhManagerService、 chatty的都不显示
- 获取系统ANR日志:
adb pull /data/anr F:/dump
-
发送广播
adb shell am broadcast -a "broadcastactionfilter" // -e 带参数 --es String 参数 --ei int 参数 --ez boolean 参数 adb shell am broadcast -a "broadcastactionfilter" -e name zhy
- 清除应用数据以及缓存:
adb shell pm clear <包名>
- 获取系统版本:
adb shell getprop ro.build.version.release
- 获取系统api版本:
adb shell getprop ro.build.version.sdk
- 查看CPU架构信息:
adb shell getprop ro.product.cpu.abi adb shell cat /proc/cpuinfo
-
模拟输入
adb shell input // 输入文字 text "Hello world"
-
input text 输入文字
adb shell input text "Hello world"
-
input keyevent 模拟按键输入
adb shell input keyevent 3 // 模拟点击home
key name | code | |
---|---|---|
KEYCODE_UNKNOWN | 0 | |
KEYCODE_SOFT_LEFT | 1 | |
KEYCODE_SOFT_RIGHT | 2 | |
KEYCODE_HOME | 3 | //home键 |
KEYCODE_BACK | 4 | //back键 |
KEYCODE_CALL | 5 | |
KEYCODE_ENDCALL | 6 | |
KEYCODE_0 | 7 | |
KEYCODE_1 | 8 | |
KEYCODE_2 | 9 | |
KEYCODE_3 | 10 | |
KEYCODE_4 | 11 | |
KEYCODE_5 | 12 | |
KEYCODE_6 | 13 | |
KEYCODE_7 | 14 | |
KEYCODE_8 | 15 | |
KEYCODE_9 | 16 | |
KEYCODE_STAR | 17 | |
KEYCODE_POUND | 18 | |
KEYCODE_DPAD_UP | 19 | |
KEYCODE_DPAD_DOWN | 20 | |
KEYCODE_DPAD_LEFT | 21 | |
KEYCODE_DPAD_RIGHT | 22 | |
KEYCODE_DPAD_CENTER | 23 | |
KEYCODE_VOLUME_UP | 24 | |
KEYCODE_VOLUME_DOWN | 25 | |
KEYCODE_POWER | 26 | |
KEYCODE_CAMERA | 27 | |
KEYCODE_CLEAR | 28 | |
KEYCODE_A | 29 | |
KEYCODE_B | 30 | |
KEYCODE_C | 31 | |
KEYCODE_D | 32 | |
KEYCODE_E | 33 | |
KEYCODE_F | 34 | |
KEYCODE_G | 35 | |
KEYCODE_H | 36 | |
KEYCODE_I | 37 | |
KEYCODE_J | 38 | |
KEYCODE_K | 39 | |
KEYCODE_L | 40 | |
KEYCODE_M | 41 | |
KEYCODE_N | 42 | |
KEYCODE_O | 43 | |
KEYCODE_P | 44 | |
KEYCODE_Q | 45 | |
KEYCODE_R | 46 | |
KEYCODE_S | 47 | |
KEYCODE_T | 48 | |
KEYCODE_U | 49 | |
KEYCODE_V | 50 | |
KEYCODE_W | 51 | |
KEYCODE_X | 52 | |
KEYCODE_Y | 53 | |
KEYCODE_Z | 54 | |
KEYCODE_COMMA | 55 | |
KEYCODE_PERIOD | 56 | |
KEYCODE_ALT_LEFT | 57 | |
KEYCODE_ALT_RIGHT | 58 | |
KEYCODE_SHIFT_LEFT | 59 | |
KEYCODE_SHIFT_RIGHT | 60 | |
KEYCODE_TAB | 61 | |
KEYCODE_SPACE | 62 | |
KEYCODE_SYM | 63 | |
KEYCODE_EXPLORER | 64 | |
KEYCODE_ENVELOPE | 65 | |
KEYCODE_ENTER | 66 | |
KEYCODE_DEL | 67 | |
KEYCODE_GRAVE | 68 | |
KEYCODE_MINUS | 69 | |
KEYCODE_EQUALS | 70 | |
KEYCODE_LEFT_BRACKET | 71 | |
KEYCODE_RIGHT_BRACKET | 72 | |
KEYCODE_BACKSLASH | 73 | |
KEYCODE_SEMICOLON | 74 | |
KEYCODE_APOSTROPHE | 75 | |
KEYCODE_SLASH | 76 | |
KEYCODE_AT | 77 | |
KEYCODE_NUM | 78 | |
KEYCODE_HEADSETHOOK | 79 | |
KEYCODE_FOCUS | 80 | //Camerafocus |
KEYCODE_PLUS | 81 | |
KEYCODE_MENU | 82 | |
KEYCODE_NOTIFICATION | 83 | |
KEYCODE_SEARCH | 84 | |
KEYCODE_MEDIA_PLAY_PAUSE | 85 | |
KEYCODE_MEDIA_STOP | 86 | |
KEYCODE_MEDIA_NEXT | 87 | |
KEYCODE_MEDIA_PREVIOUS | 88 | |
KEYCODE_MEDIA_REWIND | 89 | |
KEYCODE_MEDIA_FAST_FORWARD | 90 | |
KEYCODE_MUTE | 91 |
-
input tap x y 模拟点击屏幕
adb shell input tap 540 1104
-
模拟滑动 adb shell input swipe start_x start_y end_x end_y
adb shell input swipe 250 250 300 300