adb可以同时连接多台设备,想要查看当前adb连接的设备有哪些可以使用这个命令ao
$ adb devices
以下示例向您展示了 devices 命令及其输出:
那么问题来了,在同时连接到多台设备的情况下,怎么将命令发送至特定设备呢?
上图中的emulator-5554、emulator-5556、emulator-5558被称为序列号,是用来区分设备用的。如果多个模拟器/设备实例正在运行,在发出 adb 命令时必须指定一个目标实例。为此,请在命令中使用 -s 选项。
比如:在 emulator-5556 设备上安装微信
adb -s emulator-5556 install weixin703android1400.apk
注:weixin703android1400.apk 为电脑本地apk路径
安装应用
在上面的实例中我们通过adb执行了安装微信的命令,所以adb是支持安装应用到设备的,下面我们介绍一下安装应用的命令,其中path_to_apk是电脑本地的apk路径。
adb install -r path_to_apk
注: -r 表示替换掉原来的apk;如果没有-r,会提示apk已经存在
卸载应用
既然上面说到可以安装应用,那么我们能不能卸载应用呢,答案是肯定的,只不过卸载应用之前需要知道应用的安装包名。
adb uninstall com.tencent.mm // com.tencent.mm 就是微信的安装包名
那怎么才能知道应用的安装包名呢?这个之后讲解
截图和录屏
adb是支持截图和录屏的,方便记录我们的操作。我们看一下具体的命令:
adb shell screencap /sdcard/screen.png
adb shell 在设备运行脚本命令
screencap 截屏命令
/sdcard/screen.png 截图保存路径
adb shell screenrecord --size 1920x480 --time-limit 100 /sdcard/demo.mp4
adb shell 在设备运行脚本命令
screenrecord 录制视频命令
--size 1920x480 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显示命令行屏幕上的日志信息。如果您不设置此选项,则运行时此实用程序不会显示任何信息。
将文件复制到设备/从设备复制文件
上面我们既然已经截图和录制了视频,那怎么把他们发送到自己的电脑上呢,用蓝牙?用微信?其实,adb就可以轻松搞定。
1、要从模拟器或设备复制文件或目录
adb pull remote local
2、要将文件文件或目录(及其子目录)复制到模拟器或设备
adb push local remote
注:local 和 remote 指的是开发计算机(本地)和模拟器/设备实例(远程)上目标文件/目录的路径
举个,把刚才截屏的图片发送到我的电脑桌面
adb pull /sdcard/screen.png ~/Desktop