Saturday, March 6, 2021

ADB & Fastboot 简介与使用

 

说到安卓系统,肯定少不了大家喜闻乐见的「刷机」。在刷机的时候很多人不可避免地会遇到「ADB」和「Fastboot」这两个工具,因此今天和大家简单介绍下这两个工具。

《ADB & Fastboot 简介与使用》

简介

什么是 ADB

ADB 全称为 Android Debug Bridge

专业说明(来自官方开发文档):

Android 调试桥 (adb) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。该工具作为一个客户端-服务器程序,包括三个组件:

  • 客户端,该组件发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
  • 后台程序,该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
  • 服务器,该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。

您可以在 android_sdk/platform-tools/ 中找到 adb 工具。

糊弄说明:

即刷机工具

什么是 Fastboot

在 Android 手机中,Fastboot 是一个通信协议,电脑可以通过这个通信协议,直接向手机系统不同分区中写入文件(.img),一般用来向bootloader传送刷机文件进行烧录。

还有一种,指的是 Fastboot 刷机模式,比如小米的米兔界面。Fastboot 是比 Recovery更为底层的刷机模式。

大多数手机可以在关机状态下长按 电源键 + 音量(+) 进入该模式,然后就可以进行刷入第三方 Recovery 或者刷入 System 等操作。

下载与配置

电脑端

  1. 下载SDK Platform Tools

官方页面,注意,包括上面的下载链接,都可能需要梯子。

  1. 下载后直接解压即可,建议放到桌面(因为是全英文路径)。
  2. 在命令提示符(windows)或者终端(Linux)中切换到此路径,运行 ADB 服务。《ADB & Fastboot 简介与使用》

⚠️注意:

  1. PowerShell 和 CMD 都可以运行 ADB,但是 ADB 本身是 CMD 工具,更建议用 CMD 运行它。如果是在 PowerShell 运行,需要先输入 CMD 切换到命令行模式,或者以 ./adb 输入命令,直接输入 adb 会出错。
  2. 查看此链接,添加“在此处打开命令窗口”到右键菜单,操作更方便。

手机端

1、首先进入设置中的手机详细信息页面,连续点7次“版本信息”,直到提示“已打开开发者选项”;

2、进入开发者选项,打开 USB 调试;

《ADB & Fastboot 简介与使用》

3、将手机与电脑连接,电脑上在 CMD 输入adb devices 并执行:

《ADB & Fastboot 简介与使用》

此时手机会有提示:

《ADB & Fastboot 简介与使用》

点击“确定”即可。

4、此时重新输入 adb devices,即可看到已授权,然后我们就可以进行操作了。

《ADB & Fastboot 简介与使用》

一些常见问题

1、无法开启 ADB 服务

提示: error: protocol fault (couldn’t read status): No error

可能是 adb 用于通信的 5037 端口被占用,找到占用此端口的进程,结束掉后重试。

2、无法连接手机

  1. 尝试安装驱动,比如小米手机用 MiFlash 安装,华为手机用 Huawei HiSuite 安装……
  2. 检查数据线,尝试换一条数据线或者换一个 USB 接口;
  3. 如果确认驱动和连接都没有问题,可以尝试换一个系统,或者换一台电脑。

ADB 实例

  • 查看已安装应用

1、基本命令: adb shell pm list packages

Packages 是 APP 的包名

2、参数:

参数 显示列表
所有应用
-f 显示应用关联的 apk 文件
-d 只显示 disabled 的应用
-e 只显示 enabled 的应用
-s 只显示系统应用
-3 只显示第三方应用
-i 显示应用的 installer
-u 包含已卸载应用

包名包含 字符串

3、实例:

《ADB & Fastboot 简介与使用》

  • 批量安装应用

将 APK 文件全部复制到 ADB 工具所在的文件夹,并且重命名(不能有空格),然后在CMD中输入:

for %i in (*.apk) do adb install -r %i

Linux 命令为:

find . -name “*.apk” -execdir adb install -r ‘{}’ ‘;’

不出意外就会自动安装全部 APK 了,而无需干预。这个方法适用于重置系统或者刷机之后的批量安装,简便快捷。

  • 停用应用

基本命令:adb shell pm disable-user <package_name>

启用命令:adb shell pm enable <package_name>

停用类似卸载,被停用的应用无法找到也无法使用,但可以通过启用命令重新启用。

⚠️注意:系统应用谨慎停用!有可能会造成无法开机!

  • 卸载应用

基本命令:adb uninstall [-k] <packagename>

有一些应用不会显示在启动器或者无法用普通方法卸载,可以使用 adb 卸载它。

⚠️注意:系统应用谨慎卸载!有可能会造成无法开机!

  • 清除缓存

基本命令:adb shell pm clear <packagename>

相当于在设置里的应用信息界面点击了「清除缓存」和「清除数据」。

⚠️注意:系统应用谨慎清除缓存,有可能会造成异常!

  • 强制停止应用

基本命令:adb shell am force-stop <packagename>

顾名思义,相当于 Windows 中 taskkill 命令。

  • 复制文件

基本命令:adb push

在电脑和手机或者手机和电脑之间复制文件。

  • 刷机相关

快速重启:adb reboot

重启到引导模式:adb reboot bootloader

重启到恢复模式:adb reboot recovery

Sideload 更新系统:adb sideload <.zip>

 https://www.newlearner.site/2019/09/22/adb-fastboot.html

No comments: