ADB命令

ADB简介:

ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。它存在于 sdk/platform-tools 目录下。虽然现在 Android Studio 已经将大部分 ADB 命令以图形化的形式实现了,但是了解一下还是有必要的。
注: 有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关,在android设备开发者模式下打开USB调试。

命令: 

# 启动adb服务
 adb start-server

# 停止adb服务
 adb kill-server

# 指定启动服务端口号
 adb -P 8090 start-server

# 查看当前连接设备
adb devices
  状态:offline 表示设备未连接成功或者无响应
device 表示设备连接成功
      no device 没有设备

# 当前连接多个设备,指定设备操作
adb -s 设备号 命令

# 通过TCP/IP连接端口号5555 无线连接保证设备与电脑在同一个网络wifi
 adb tcpip 5555
  
# 通过IP无线连接,保证设备与电脑在同一个网络wifi adb connect ip # ip在设备上-关于手机-状态信息-ip地址中 连接有问题,可以重启下adb服务在进行连接

# 关闭远程连接
 adb disconnect ip:port eg: adb disconnect 172.17.9.36:6666
# adb安装apk包
  adb install path_apk
    参数:
      -r 覆盖安装
      -d 允许降级覆盖安装
      -g 授予所有运行时权限
      -s 将应用安装到sdcard
      -l 将应用安装到保护目录 /mnt/asec
      -t 允许安装AndroidManifest.xml 里 application 指定 android:testOnly="true" 的应用

# 卸载apk包
adb uninstall 包名

# 写在apk包,但保留数据
adb uninstall -k 包名

# 获取所有已安装的包
adb shell pm list packages

# 清空指定应用数据
adb shell pm clear package

# 复制文件到电脑
 adb pull 文件路径 电脑路径

# 复制文件到手机上
 adb push 电脑文件路径 设备目录
  
# 启动app
adb shell am start -W package/activite # -W 等待启动完成
 # 杀掉app

  adb shell am kill package # 前台运行时无法杀掉app

  adb shell am force-stop package # 强制杀掉app进程

   adb shell am restart

 # 截图

  adb exec-out screencap -p > 电脑路径/文件名 #直接保存到电脑

  adb shell screencap /sdcard/screen.png # 保存到手机里

 # 录制视频

  adb shell screenrecord /sdcard/android.mp4

  参数:

    --size 1080x720 设置视频的尺寸

    --bit-rate TATE 视频的比特率,默认4Mbps

    --time-limit TIME 录制时长,单位秒,默认是180秒。

    --verbose 输出更多信息

 # 获取手机分辨率

  adb shell wm size

 # 获取手机系统版本

  adb shell getprop ro.build.version.release

 # 获取手机系统api版本

  adb shell getprop ro.build.version.sdk

 # 获取手机设备名称

  adb -d shell getprop ro.product.model

 # 获取手机厂商名称

  adb -d shell getprop ro.product.brand

 # 获取手机设备号

  adb get-serialno

 # 获取手机电量

  adb shell dumpsys battery

    scale 代表最大点亮

    level 代表当前点亮

 # 获取手机ip地址

  adb shell ifconfig | grep Mask

 # 获取cpu信息

  adb shell cat /proc/cpuinfo

 # 获取内存信息

   adb shell cat /proc/meminfo

 # 模拟按键操作

  adb shell input keyevent <keycode>

keycode含义
3 HOME 键
4 返回键
5 打开拨号应用
6 挂断电话
24 增加音量
25 降低音量
26 电源键
27 拍照(需要在相机应用里)
64 打开浏览器
82 菜单键
85 播放/暂停
86 停止播放
87 播放下一首
88 播放上一首
122 移动光标到行首或列表顶部
123 移动光标到行末或列表底部
126 恢复播放
127 暂停播放
164 静音
176 打开系统设置
187 切换应用
207 打开联系人
208 打开日历
209 打开音乐
210 打开计算器
220 降低屏幕亮度
221 提高屏幕亮度
223 系统休眠
224 点亮屏幕
231 打开语音助手
276 如果没有 wakelock 则让系统休眠

 

   


























































# adb shell input tap x坐标 y坐标

# adb shell input swipe x1 y1 x2 y2 滑动事件

# 查看日志

  adb logcat

#日志优先级
  • V —— Verbose(最低,输出得最多)
  • D —— Debug
  • I —— Info
  • W —— Warning
  • E —— Error
  • F —— Fatal
  • S —— Silent(最高,啥也不输出)

  eg:adb logcat *:W  #输出包含W的以上等级信息(W,E,F,S)

 #按tag过滤日志

  eg:adb logcat ActivityManager:I *:S # 筛选ActivityManager标签 I等级 和 所有内容S等级

  #输出日志格式:adb logcat -v <format>

  brief 默认格式  eg:D/HeadsetStateMachine( 1785): Disconnected process message: 10, size: 0

  process        eg:D( 1785) Disconnected process message: 10, size: 0 (HeadsetStateMachine)

  tag            eg:D/HeadsetStateMachine: Disconnected process message: 10, size: 0

  raw        eg:Disconnected process message: 10, size: 0

  time        eg:08-28 22:39:39.974 D/HeadsetStateMachine( 1785): Disconnected process message: 10, size: 0

  threadtime       eg:08-28 22:39:39.974 1785 1832 D HeadsetStateMachine: Disconnected process message: 10, size: 0

  long        eg:[ 08-28 22:39:39.974 1785: 1832 D/HeadsetStateMachine ] Disconnected process message: 10, size: 0

  eg:adb logcat -v long ActivityManager:I *:S # 输出格式long,输出标签为ActivityManager的 I等级 ,和所有内容S等级

 # 清空日志

  adb logcat -c

 

 参考资料:https://www.wanandroid.com/blog/show/2310

原文地址:https://www.cnblogs.com/TestingShare/p/13651123.html