前言:
从大佬博客转载一篇博文,ADB & Fastboot 简介与使用,除了电脑可以转adb工具,手机termux也可以安装adb工具,给其他手机刷机,有兴趣的也可以自己去研究一下。
当然在使用终端的过程中最好可以提前了解一些常用的am pm命令:
https://zsxwz.com/2019/09/22/几个安卓am pm命令用法
什么是 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 等操作。
下载与配置
电脑端
- 下载SDK Platform Tools
官方页面,注意,包括上面的下载链接,都可能需要梯子。
- 下载后直接解压即可,建议放到桌面(因为是全英文路径)。
- 在命令提示符(windows)或者终端(Linux)中切换到此路径,运行 ADB 服务。
⚠️注意:
- PowerShell 和 CMD 都可以运行 ADB,但是 ADB 本身是 CMD 工具,更建议用 CMD 运行它。如果是在 PowerShell 运行,需要先输入 CMD 切换到命令行模式,或者以 ./adb 输入命令,直接输入 adb 会出错。
- 查看此链接,添加“在此处打开命令窗口”到右键菜单,操作更方便。
手机端
1、首先进入设置中的手机详细信息页面,连续点7次“版本信息”,直到提示“已打开开发者选项”;
2、进入开发者选项,打开 USB 调试;
3、将手机与电脑连接,电脑上在 CMD 输入adb devices 并执行:
此时手机会有提示:
点击“确定”即可。
4、此时重新输入 adb devices,即可看到已授权,然后我们就可以进行操作了。
一些常见问题
1、无法开启 ADB 服务
提示: error: protocol fault (couldn’t read status): No error
可能是 adb 用于通信的 5037 端口被占用,找到占用此端口的进程,结束掉后重试。
2、无法连接手机
- 尝试安装驱动,比如小米手机用 MiFlash 安装,华为手机用 Huawei HiSuite 安装……
- 检查数据线,尝试换一条数据线或者换一个 USB 接口;
- 如果确认驱动和连接都没有问题,可以尝试换一个系统,或者换一台电脑。
ADB 实例
1、基本命令: adb shell pm list packages
Packages 是 APP 的包名
2、参数:
参数 | 显示列表 |
无 | 所有应用 |
-f | 显示应用关联的 apk 文件 |
-d | 只显示 disabled 的应用 |
-e | 只显示 enabled 的应用 |
-s | 只显示系统应用 |
-3 | 只显示第三方应用 |
-i | 显示应用的 installer |
-u | 包含已卸载应用 |
| 包名包含 字符串 |
3、实例:
将 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