通过 ADB 安装、升级、卸载和冻结应用

Published on with 0 views and 0 comments

ADB 是什么?

ADB(Android Debug Bridge)是 Android SDK 中的一个工具,使用 ADB 可以直接操作管理 Android 模拟器或者真实的 Andriod 设备。

ADB 可以做什么?/我们为什么需要使用 ADB?

ADB 主要功能有:

  1. 在 Android 设备上运行 Shell(命令行)
  2. 管理模拟器或设备的端口映射
  3. 在计算机和设备之间上传/下载文件
  4. 将电脑上的本地 APK 软件安装至 Android 模拟器或设备上

ADB 的下载和安装

Google 官方已提供了 adb/fastboot 跨平台工具包,下载地址见这里

以 Windows PC 平台为例,下载后解压,通过 cmd 进入解压后的路径下,然后使用数据线将手机连接电脑,输入adb.exe devices出现实例状态即说明连接成功(注意在非 Windows PC 平台上,我们无需加exe后缀,即adb devices)。

1 $ ./adb.exe devices
2 * daemon not running. starting it now on port 5037 *
3 * daemon started successfully *
4 List of devices attached
5 e06229e8        device

通过 ADB 安装应用

1 adb install <APK 文件路径>

通过 ADB 升级应用

1 adb install -r <APK 文件路径>

参数-r表示允许覆盖安装;-d表示允许降级覆盖安装。

通过 ADB 卸载应用

1 adb uninstall <应用包名>
2 adb uninstall -k <应用包名> # 如果加 -k 参数,为卸载应用但是保留配置和缓存文件

其中<应用包名>可以通过adb shell pm list packages命令查看:

  • adb shell pm list packages -s可以查看系统应用
  • adb shell pm list packages -3可以查看用户应用
  • adb shell pm list packages xxx可以查看包含xxx字符串的应用

通过 ADB 冻结应用

冻结应用使用的命令是:

1 adb shell pm hide <应用包名>

解冻应用的命令为:

1 adb shell pm unhide <应用包名>

如何将文件从电脑发送至设备?

1 adb push <本地路径> <设备路径>

需要注意的是:

  • 你可能会遇到Read-only file system的错误提示信息,解决方法是在执行push命令之前使用adb remount命令获取上传文件权限。
  • 如果需要向一个二级目录里放文件的时候,请使用/而不是使用\
  • 设备上的文件路径普通权限可能无法直接发送写入,如果你的设备已经 root 过,可以先adb push </path/on/pc> </sdcard/filename>,然后adb shellsu在 adb shell 里获取 root 权限后,再cp </sdcard/filename> </path/on/device>
1 $ ./adb.exe shell
2 capricorn:/ $ su
3 su
4 capricorn:/ #

同理,如果需要将设备里的文件拷贝到电脑,使用adb pull <设备里的文件路径> <本地路径>

扩展阅读

说你懂得生之微末,我便做了这壮大与你看,你说再热闹也终需离散,我便做了这一辈子与你看,你说冷暖自知,我便做了这冬花夏雪与你看,你说恋恋旧日好时光,我便做了这描金绣凤的浮世绘与你看。你说应愁高处不胜寒,我便拱手河山,讨你欢。