ADB常用命令

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
    

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦