一、什么是adb?
adb是Android Debug Bridge的缩写,即安卓调试桥;那什么是安卓调试桥?简单来说,就是一个通用命令行工具,允许计算机与模拟器或连接的安卓设备之间进行通信,提供各种便利。
adb是一个客户端-服务器程序,包括三个组件:
客户端:在计算机上运行。在终端通过命令行调用adb
后台程序:在模拟器或安卓设备上作为后台进程运行,在设备上执行命令
服务器:服务器在计算机上作为后台进程运行,管理客户端和后台程序之间的通信
官方参考资料:https://developer.android.google.cn/studio/command-line/adb.html
二、adb工具下载
仓库备份有windows 64位的adb工具,版本 Android Debug Bridge version 1.0.41
仓库链接:https://gitee.com/shengtudai/adb.git 其它版本自行百度
三、运行adb
解压工具包,在终端通过命令行调用adb工具,如解压路径为C:\adb
用cd命令进入目录
cd C:/adb
在设备的开发者选项里打开usb调试开关,或进入Recovery,再连接计算机,输入如下命令查找设备
adb devices
若输出List of devices attached,则识别到设备
四、adb常用命令及功能
1.安装软件
adb install -r path_to_apk
注:-r 为强制替换原来软件
2.卸载软件
adb uninstall -k --user 0 com.tencent.mm // com.tencent.mm 就是微信的安装包名
注:卸载软件需要通过包名卸载;-k为卸载但保留数据,一般不加; --user
指定用户 id
,Android 系统支持多个用户,默认用户只有一个,id=0。该命令可免root卸载系统预装软件
3.获取应用包名
上面讲到,卸载软件需要通过包名卸载,如何获取包名呢?
①.列出所有包名,找到最像的那个
adb shell
pm list packages
②.在设备上打开需要获取包名的软件,保持在前台运行,输入如下命令
dumpsys window | grep mCurrentFocus
这里 window{ }
中就是这个界面的包名类名,包名就是:com.tencent.mm
4.截图和录屏
adb shell screencap /sdcard/screen.png
adb shell 在设备运行脚本命令
screencap 截屏命令
/sdcard/screen.png 截图保存路径
adb shell screenrecord --size 1920x1080 --time-limit 100 /sdcard/demo.mp4 adb shell 在设备运行脚本命令 screenrecord 录制视频命令 --size 1920x1080 widthxheight 设置视频大小 --time-limit 100 设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)。 按 Control + C 停止屏幕录制
注:
screenrecord 选项说明
--help显示命令语法和选项
--size widthxheight设置视频大小:1280x720。默认值是设备的原生显示分辨率(如果支持),如果不支持,则使用 1280x720。为实现最佳结果,请使用设备的 Advanced Video Coding (AVC) 编码器支持的大小。
--bit-rate rate设置视频的视频比特率(以兆比特每秒为单位)。默认值为 4Mbps。您可以增加比特率以提升视频质量,但这么做会导致影片文件变得更大。以下示例将录制比特率设为 6Mbps:screenrecord --bit-rate 6000000 /sdcard/demo.mp4
--time-limit time设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)。
--rotate将输出旋转 90 度。此功能是实验性的。
--verbose显示命令行屏幕上的日志信息。如果您不设置此选项,则运行时此实用程序不会显示任何信息。
5.将文件复制到设备/从设备复制文件
要从模拟器或设备复制文件或目录
adb pull remote local
要将文件文件或目录(及其子目录)复制到模拟器或设备
adb push local remote
注:local 和 remote 指的是开发计算机(本地)和模拟器/设备实例(远程)上目标文件/目录的路径