adb详细教程(三)-使用adb安装app、卸载app

  • 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安装包我已上传到了本人运营的博客同名公众号【软件测试必备技能】。公众也会不定期会上传测试相关资料,有需要可以前往领取。

有需要可点击文章下方二维码,前往领取~在这里插入图片描述

  • 13
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试必备技能

有钱捧个钱场,没钱捧个人场

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值