Android 常用 adb 命令总结
adb ( 全称为Android Debug Bridge)是一个C/S 架构命令行工具,起到调试桥的作用,是连接Android手机与PC端的桥梁,方便我们在电脑上对手机进行操作。adb 命令可用于执行各种设备操作,如安装和调试应用。
ADB和Fastboo最新Google官方下载地址:https://developer.android.com/studio/releases/platform-tools?hl=zh-cn,或点击下面对应链接下载
Windows:https://dl.google.com/android/repository/platform-tools-latest-windows.zip?hl=zh-cn
Mac:https://dl.google.com/android/repository/platform-tools-latest-darwin.zip?hl=zh-cn
Linux:https://dl.google.com/android/repository/platform-tools-latest-linux.zip?hl=zh-cn
针对移动端 Android 的测试, 熟练使用adb命令, 将会为给 Android 测试带来很大的便利,其中很多命令也会用于自动化测试的脚本当中。
下面主要介绍,adb 和 adb shell 命令、linux 命令只列出,不详解。以上三个部分:
adb 命令
在配好环境变量的前提下,在命令窗口当中输入 adb help 或者直接输入 adb ,将会列出所有的选项说明及子命令。
下面正式开始介绍 adb 命令、adb shell 命令 ~ 坐稳扶好 ~ 发车了 ~~~
在开发或者测试的过程中,我们可以通过 adb 来管理多台设备,其一般的格式为:
adb [-e | -d | -s <设备序列号>] <子命令>
-
adb devices , 获取设备列表及设备状态
C:\Users\mkcshwzx>adb devices
List of devices attached
47e965af device
-
adb get-state , 获取设备的状态
C:\Users\mkcshwzx>adb get-state
device设备的状态有 3 钟,device , offline , unknowndevice:设备正常连接offline:连接出现异常,设备无响应unknown:没有连接设备
-
adb kill-server , adb start-server , 结束 adb 服务, 启动 adb 服务,通常两个命令一起用
一般在连接出现异常,使用 adb devices 未正常列出设备, 设备状态异常时使用 kill-server,然后运行 start-server 进行重启服务
-
adb logcat , 打印 Android 的系统日志
adb logcat
打印log至命令窗口,Ctrl + C停止打印log
adb logcat -c
-c 清空所有的日志缓存信息
adb logcat -g
-g 查看日志缓冲区信息
adb logcat -t
-t 输出最近的几行日志, 输出完退出, 不阻塞;
例如:adb logcat -t 5
adb logcat -s
设置输出日志的标签, 只显示该标签的日志;
例如:adb logcat -s System.out
adb logcat -v time > D:\Logcat\logcat.log
-v 设置日志的输出格式, 注意只能设置一项
例如:日志保存到D:\Logcat\目录下
adb logcat -v time > D:\Logcat\logcat.log
adb logcat | grep wifi
过滤固定字符串 : 只要命令行出现的日志都可以过滤, 不管是不是标签
例如:adb shell | findstr wifi
说明:
管道符“|”:可以把标准的输入流与标准的输出流进行合并,或者把某个命令的标准输出流作为另一个命令的标准输入流。
exit退出shell。
由于grep为linux命令,运行单条adb shell 时并没有进入linux
shell环境,并不能用grep等其他linux命令,只能用window cmd的命令。在这里可以用findstr来代替grep,使用方法为
findstr/grep [keyword]
-
adb bugreport , 打印dumpsys、dumpstate、logcat的输出,也是用于分析错误
输出比较多,建议重定向到一个文件中
例如:adb bugreport > d:\bugreport.log
-
adb install , 安装应用,
adb install test.apk
安装应用,这里的xx.apk是电脑上的路径,例如:adb shell instal E:/test.apk。
windows 下如果需要安装含有中文名的 apk ,需要对 adb 进行修改,百度可以找到做出修改的adb , 支持中文命令的 apk,请自行搜索
adb -s xxxxxxxx install xx.apk
指定序列号的设备安装。注意:xxxx 就是上面提到adb devices 中device前面展示的手机序列号。
adb install -r test.apk
-r 覆盖安装,保留存储数据
adb install -t test.apk
允许安装测试包
adb install -s test.apk
将应用程序安装到sd卡上
adb install -d test.apk
允许降级覆盖安装,忽略版本号
-
adb uninstall , 卸载应用,后面跟的参数是应用的包名,请区别于 apk 文件名
adb uninstall com.baidu.BaiduMap
卸载应用
adb uninstall -k com.baidu.BaiduMap
'-k' means keep the data and cache directories , -k 选项,卸载时保存数据和缓存目录
-
adb pull , 将 Android 设备上的文件或者文件夹复制到本地
注意权限,复制系统权限的目录下的文件,需要 root ,并且一般的 Android 机 root 之后并不能使用命令去复制,而需要在手机上使用类似于 RE 的文件浏览器,先对系统的文件系统进行挂载为可读写后,才能在手机上复制移动系统文件。
adb pull sdcard/pull.txt D:\
复制 Sdcard 下的 pull.txt 文件到 D 盘:
adb pull sdcard/pull.txt D:\name.txt
如果需要重命名为 name.txt:
-
adb push , 推送本地文件至 Android 设备
adb push D:\push.txt sdcard/
推送 D 盘下的 push.txt 至 Sdcard:
-
adb root 、adb remount 只针对类似小米开发版的手机有用
可以直接已这两个命令获取 root 权限,并挂载系统文件系统为可读写状态
-
adb r