adb对于安卓移动端来说,是个非常重要的调试工具。本篇介绍使用adb指令安装、卸载应用

文章目录

一、准备工作(1)查询连接设备:adb devices(2)如果设备未连接可尝试重启adb服务:adb kill-server/adb start-server

二、安装应用(1)安装应用:adb install(2)覆盖安装:[-r](3)其他选项

三、卸载应用四、连接多个设备时,将命令发送至特定设备附录:【adb详细教程】系列文章目录

(adb的安装包我已上传到了网盘。可以直接搜索公众号【软件测试必备技能】或 滑到文章底部,点击公众号卡片扫描二维码,前往关注领取。)

ADB的安装与设置可以参考博客之前的文章: adb详细教程(一)-下载安装与环境变量配置 adb详细教程(二)-开启手机开发者模式、通过adb连接安卓设备

一、准备工作

使用adb安装应用之前,要确保设备已经连接到电脑。

(1)查询连接设备:adb devices

指令adb devices

响应

序列号:adb 会创建一个字符串,用于通过端口号唯一标识设备。下面是一个序列号示例:“164520ff”状态:设备的连接状态可以是以下几项之一:

offline:设备未连接到 adb 或没有响应。device:设备已连接到 adb服务器。no device:未连接任何设备。 如果加入 “-l” 选项,响应会打印出设备具体的型号参数adb devices -l

(2)如果设备未连接可尝试重启adb服务:adb kill-server/adb start-server

启动和停止的指令,在adb出现异常需要重启的时候非常有用。

停止服务指令adb kill-server # 停止服务

停止服务响应

无响应 开启服务指令adb start-server # 开启服务

开启服务响应

返回结果如下,表示ADB服务成功启动 已经启动的情况下,再使用启动的指令就不会有返回结果 尝试重连后,观察手机是否有弹出允许调试的弹框, 点击允许。再使用查询连接设备的指令,大概率可以看到设备已成功连接。 如果还有问题可以参考博客之前的文章,查看是否有遗漏的步骤: adb详细教程(二)-开启手机开发者模式、通过adb连接安卓设备

二、安装应用

(1)安装应用:adb install

指令adb install D:\test.apk # 安装指令,D:\test.apk为APK路径

注意,如果文件路径中有空格的情况下,需要给路径加上引号

adb install "D:\test file\test.apk"

响应

正常情况下,响应为“success” 这里也介绍几种安装失败的情况:

设备未连接:adb.exe: no devices/emulators found 文件未找到:adb: failed to stat D:\test1.apk: No such file or directory 在安卓低系统设备上,这个指令直接用于覆盖安装时会报错:INSTALL_FAILED_ALREADY_EXISTS 博客之前文章也介绍过一种失败的情况,有需要可前往查看:使用adb安装apk报错:INSTALL_FAILED_INVALID_URI)

(2)覆盖安装:[-r]

上面有提到,如果当设备上已有目标应用的情况下在系统上安装会失败,在安卓高系统的设备上(具体应该是安卓10左右的系统,可以安装的时候试一下)是允许直接覆盖安装的。低系统的安卓设备覆盖安装需要增加选项[-r]指令:adb install -r D:\test.apk # 安装指令,D:\test.apk为APK路径

这样安装,就不会出现上面的报错。

adb install命令的完整格式是:adb install [-l] [-t] [-r] [-s] ,其中-l表示锁定应用,-t表示安装调试版apk,-r表示重新安装应用并保留数据,-s表示安装到SD卡而不是内部存储。

(3)其他选项

adb install 还有一些其他不常用的选项。以下是adb安装器的帮助信息的中文翻译:

将单个应用包推送到设备并安装:install [-lrtsdg] [–instant] PACKAGE将多个APK推送到设备并作为单个应用包安装:install-multiple [-lrtsdpg] [–instant] PACKAGE…将一个或多个应用包推送到设备并原子性地安装:install-multi-package [-lrtsdpg] [–instant] PACKAGE…指令其他选项:

-r: 替换现有应用-t: 允许安装测试包-d: 允许版本代码降级(仅限可调试包)-p: 部分应用安装(仅限install-multiple)-g: 授予所有运行时权限–abi ABI: 覆盖平台的默认ABI–instant: 使应用作为临时安装应用安装–no-streaming: 始终将APK推送到设备并作为单独的步骤调用包管理器–streaming: 强制将APK直接流式传输到包管理器–fastdeploy: 使用快速部署–no-fastdeploy: 防止使用快速部署–force-agent: 在使用快速部署时强制更新部署代理–date-check-agent: 当本地版本较新且使用快速部署时更新部署代理–version-check-agent: 当本地版本具有不同的版本代码且使用快速部署时更新部署代理

三、卸载应用

指令adb uninstall app_key # 卸载指令,app_key为需要删除的目标包名

响应

正常情况下,响应为“success” 这里也介绍几种安装失败的情况:

设备上,包名对应的应用不存在,低系统和高系统的报错信息不一样,但都是因为应用已经被删除了 设备未连接

四、连接多个设备时,将命令发送至特定设备

如果在多个设备可用时发出命令但未指定目标设备,adb 会提示错误:“adb: error: failed to get feature set: more than one device/emulator”。 当电脑连接多个设备时,adb指令必须要指定目标设备。首先,通过查询设备的指令,获取设备的序列号。 以安装指令为例,将安装指令发送至上图的设备中

adb -s R38MB install test.apk

这样就可以将命令发送至特定设备。

附录:【adb详细教程】系列文章目录

adb详细教程(一)-下载安装与环境变量配置 adb详细教程(二)-开启手机开发者模式、通过adb连接安卓设备 adb详细教程(三)-使用adb安装app、卸载app ————————————————————————————————— adb安装包我已上传到了本人运营的博客同名公众号【软件测试必备技能】。公众也会不定期会上传测试相关资料,有需要可以前往领取。

有需要可点击文章下方二维码,前往领取~

参考链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: