0%

adb常用命令

文章字数:1116,阅读全文大约需要4分钟

Android Debug Bridge安卓调试桥,是一款C/S架构的命令行工具。

组成部分

  1. Client:运行在PC端,对Android应用进行安装、卸载、调试。
  2. Service:运行在PC端,管理客户端到设备的abd后台进程的连接
  3. adb进程:运行在Android设备5037端口

adb命令

命令格式:

1
adb [-e | -d | -s <设备序列号>] <子命令>
  1. adb devices获取设备列表及设备状态

  2. adb get-state获取设备的状态,device正常连接、offline连接异常无响应、unknown没有连接设备

  3. adb kill-server | abd start-server:结束或者启动adb服务,状态异常是kill-server再start

  4. adb logcat:打印Android的系统日志

  5. adb bugreport:打印dumpsysdumpstatelogcat的输出,用于错误分析

  6. adb install:安装应用,覆盖安装-r

  7. adb uninstall:卸载应用,后面跟应用包名。-k选项保留数据和缓存目录

  8. adb pull:将Android设备上的文件或者文件夹复制到本地

    1
    adb pull xxx/a.txt d:\xxx.txt
  9. adb push:推送本地文件到Android设备

    1
    2
    # 最后的'/'一定要有,否则报错
    adb push d:\push.txt sdcard/test/
  10. adb root , adb remount:部分手机支持,获取root权限,系统文件为可读状态

  11. adb reboot:重启设备

    1
    2
    3
    4
    5
    # 重启,进入fastboot模式
    adb reboot-bootloader

    # 重启,进入recovery模式
    adb recovery
  12. adb foward:将宿主机上的某个端口重定向到设备的某个端口

    1
    2
    # 把主机1214端口的信息数据都转发到设备的8888端口,实现远程控制
    adb forward tcp:1214 tcp :8888
  13. adb connect:远程链接Android设备

    1
    2
    3
    1. pc,设备处于同一网段
    2. 手机root,安装adbWireless,运行
    3.adb connect ip
  14. adb disconnect <ip>断开连接
    不断开连接别人的adb就登录不上去

adb shell命令

1
2
# 调用安卓设备上`system/bin`目录下的脚本程序
adb shell 命令
  1. adb shell pm list package:列出安装在设备上的应用

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    # 系统应用
    adb shell pm list package -s

    # 第三方应用
    adb shell pm list package -3

    # 应用包名及对应apk名及位置
    adb shell pm list package -f

    # 查看安装来源
    # 例:package:com.zhihu.android installer=com.xiaomi.market
    adb shell pm list package -i

    # 查找关键字 -f | -FILTER
    adb shell pm list package -f -3 -i 关键字
  2. adb shell pm path packageName:列出包名对应的apl位置

  3. pm list instrumentation:列出含有单元测试case的应用,可加-f参数

  4. pm dump package:列出指定应用的dump信息

  5. pm install:安装应用

  6. pm uninstall packageName:卸载应用

  7. pm clear:清除应用数据

  8. pm set-install-locationpm get-install-location:设置/获取应用安装位置

  9. am start:启动一个Activity

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 打开相机
    adb shell am start -n com.android.camera/.Camera
    # 先停止再启动
    adb shell am start -S com.android.camera/.Camera
    # 等待应用完成启动
    adb shell am start -W com.android.camera/.Camera
    # 用默认浏览器打开网页
    adb shell am start -a android.intent.action.VIEW -d http://testerhome.com
    # 启动拨号器拨打10086
    adb shell am start -a android.intent.action.CALL -d tel:10086
  10. am instrument:启动instrumentation

  11. am monitor: 监控crash与ANR

  12. am force-stop: 后跟包名,结束应用

  13. am startservice:启动一个服务

  14. am broadcast: 发送一个广播

    向设备发送按键事件

  15. input text:发送文本,非中文

    1
    adb shell input text test123456
  16. input keyevent:发送按键事件

    1
    2
    # 按下home键
    adb shell input keyevent KEYCODE_HOME
  17. inout tap:发送触摸事件

    1
    2
    # 点击坐标为500 500的位置
    adb shell input tap 500 500
  18. input swipe:滑动事件

    1
    2
    3
    4
    # 从右边向左滑动
    adb shell input swipe 900 500 100 500
    # 模拟长按(小距离内较长时间滑动)
    adb shell input swipe 500 500 501 501 2000

    screencap截图

  19. screencap -p: 截屏保存

    1
    adb shell screencap -p /sdcard/screen.png
  20. screenrecord:录制

    1
    2
    # 录制视频,ctrl + c 结束录制
    adb shell screenrecord sdcard/record.mp4

    获取当前界面的控件信息

  21. adb shell uiautomator dump:获取控件信息

    1
    2
    3
    # 不加 [file] 选项时,默认存放在 sdcard 下
    [xuxu:~]$ adb shell uiautomator dump
    UI hierchary dumped to: /storage/emulated/legacy/window_dump.xml

    输入法ime

  22. adb shell ime list -s:列出输入法

  23. adb shell ime set com.baidu.input_mi/.ImeService:选则输入法

分辨率wm

  1. adb shell wm size: 获取屏幕分辨率

测试

  1. monkey:随机发送输入事件,用于测试
    1
    2
    3
    4
    # 保存信息到d盘 monkey.log
    adb shell monkey -p com.android.settings 5000 > d:\monkey.log
    # 保存信息到手机的目录(加引号)
    adb shell "monkey -p com.android.settings 5000 > sdcard/monkey.log"

系统

  1. settings:设置系统参数
  2. dumpsys:服务信息
  3. log:在logcat中打印指定信息
    1
    2
    # -p:优先级,-t:tag,标签,后面加上 message
    adb shell log -p d -t xuxu "test adb shell log"
  4. getprop:查看系统参数
    1
    adb shell getprop ro.build.version.sdk

其它

还支持linux的命令