news 2026/9/28 8:08:50

Mac刷小米手机全攻略:ADB与fastboot环境搭建及刷机避坑指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Mac刷小米手机全攻略:ADB与fastboot环境搭建及刷机避坑指南

1. 为什么Mac用户刷小米手机总踩坑

用Mac给小米手机刷机的朋友,十个里有八个在第一步就卡住了。不是ADB装不上,就是fastboot识别不到设备,再不然就是驱动装完了系统还是不认。Windows上那些一键刷机工具在macOS上基本全军覆没,论坛里翻半天教程,照着做还是报错。我自己第一次用MacBook给小米手机刷机的时候,光ADB环境就折腾了整整一个下午,最后发现是Homebrew安装的platform-tools路径没加到PATH里。

这篇内容就是把我这些年用Mac刷小米手机的经验完整梳理一遍。从ADB和fastboot的环境搭建,到解锁BL、刷入ROM、处理各种报错,每一步都配上我实际踩过的坑和解决方案。不管你是第一次刷机的新手,还是之前刷过但被Mac环境折磨过的老玩家,都能从这里找到可以直接抄作业的流程。核心关键词就几个:Mac、小米手机、刷机、ADB、fastboot,围绕这几个点把整个链路讲透。

需要提前说明的是,刷机本身有风险,操作前务必备份好数据。另外小米近两年的机型在解锁BL政策上有变化,具体以你手机当前系统版本的实际情况为准。下面的流程基于我手头几台小米机型的实操经验整理,不同型号在细节上可能有差异,但整体思路是通用的。

2. Mac端ADB与fastboot环境搭建全流程

2.1 为什么Mac上装ADB比Windows麻烦

Windows用户装ADB,下载一个压缩包解压,双击里面的exe就能用。Mac上没这么简单,因为macOS对可执行文件的来源有严格限制,从网上下载的二进制文件默认会被Gatekeeper拦截。而且Mac没有Windows那种“设备管理器”来统一管理驱动,fastboot模式下识别设备靠的是系统底层的USB驱动,一旦有问题排查起来更麻烦。

另一个坑是Homebrew。很多人看到教程说brew install android-platform-tools就完事了,但实际上Homebrew本身在Mac上安装就可能报错,尤其是网络环境不稳定的情况下,mac安装homebrew报错这个搜索词热度一直很高。所以我的建议是分两条路走:能用Homebrew就用,用不了就手动装,两条路我都详细说。

2.2 方案一:通过Homebrew安装platform-tools

先确认Homebrew是否已经装好。打开终端输入:

brew --version

如果显示版本号就说明已经装了,直接跳到下一步。如果提示command not found,那需要先装Homebrew。安装命令官方给的是:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

但实测下来这个命令在国内网络环境下大概率会卡住或者报错。常见的报错是Failed to connect to raw.githubusercontent.com port 443。遇到这种情况,可以换用国内镜像源安装,具体方法网上有很多,这里不展开。装好Homebrew之后,安装platform-tools:

brew install android-platform-tools

装完之后验证一下:

adb version fastboot --version

两个命令都能输出版本号就说明装好了。Homebrew安装的好处是路径自动配置好,不需要手动改PATH。缺点是Homebrew本身可能出问题,而且更新的时候偶尔会把platform-tools搞坏,需要重新装。

2.3 方案二:手动下载platform-tools并配置PATH

如果Homebrew实在装不上,手动方案更可控。去Google的开发者官网下载platform-tools的Mac版压缩包,解压得到一个platform-tools文件夹。把它放到一个固定的位置,比如~/Library/Android/sdk/platform-tools。

然后配置PATH。Mac上默认终端是zsh,配置文件是~/.zshrc。用文本编辑器打开:

nano ~/.zshrc

在文件末尾加上一行:

export PATH=$PATH:~/Library/Android/sdk/platform-tools

保存退出后,执行:

source ~/.zshrc

再验证adb version和fastboot --version。手动方案的好处是不依赖Homebrew,版本自己控制。缺点是需要自己管理路径,如果换了终端或者重装了系统,配置可能丢失。

注意:如果你用的是bash而不是zsh,配置文件是~/.bash_profile。Mac从Catalina开始默认用zsh,但如果你手动改过默认shell,需要确认一下当前用的是哪个。

2.4 验证ADB和fastboot是否正常工作

环境装好后,用USB线把小米手机连到Mac上。手机需要先开启开发者选项:进入设置,找到“我的设备”,连续点击“MIUI版本”七次,直到提示“您已处于开发者模式”。然后回到设置,进入“更多设置”找到“开发者选项”,打开“USB调试”。

在终端输入:

adb devices

如果一切正常,会显示一行设备信息,后面跟着device状态。如果显示unauthorized,说明手机上还没有授权这台电脑的调试权限,需要在手机屏幕上点击“允许USB调试”。如果列表是空的,说明连接有问题,可能是线的问题,也可能是驱动的问题。

fastboot模式的验证需要先把手机重启到fastboot。命令是:

adb reboot bootloader

手机会重启并进入fastboot界面,屏幕上会显示一只兔子在修安卓机器人。然后在终端输入:

fastboot devices

正常的话会显示设备序列号和fastboot字样。如果什么都没显示,那就是fastboot驱动的问题,Mac上这个问题比Windows更常见,后面会专门讲怎么排查。

3. 小米手机刷机核心操作环节拆解

3.1 解锁Bootloader的前置条件与操作

小米手机刷机的第一步是解锁Bootloader,这是所有后续操作的前提。没有解锁BL,fastboot模式下无法刷入任何非官方镜像。解锁需要用到小米官方的解锁工具,但官方工具只有Windows版,Mac用户没法直接用。

这就引出一个问题:Mac用户怎么解锁BL?我的做法是找一台Windows电脑(或者虚拟机)先完成解锁,解锁之后再回到Mac上进行后续操作。因为解锁BL是一次性的,解锁之后就可以在Mac上自由刷入了。如果你手头没有Windows环境,可以考虑用Parallels Desktop或者VMware Fusion装一个Windows虚拟机,只用来跑解锁工具。

解锁的具体流程是:在小米官网申请解锁权限,下载解锁工具,手机进入fastboot模式连接电脑,工具会自动识别并完成解锁。解锁过程中会清除手机所有数据,所以提前备份好。解锁完成后,手机会重启,开机时会显示“ unlocked”字样。

注意:小米近两年对解锁BL增加了社区等级和答题要求,新机型可能需要等待7天甚至更长的绑定时间。具体政策以你手机型号对应的官方说明为准。

3.2 fastboot模式下刷入Recovery和ROM

BL解锁之后,就可以在Mac上操作了。刷机的核心工具就是fastboot,所有操作都在终端里完成。第一步是刷入第三方Recovery,常用的有TWRP。下载对应你机型的TWRP镜像文件,通常是.img格式。

手机进入fastboot模式,连接Mac,然后执行:

fastboot flash recovery twrp.img

刷入完成后,不要直接重启系统,否则官方ROM可能会把Recovery覆盖回去。正确的做法是执行:

fastboot boot twrp.img

这样会临时启动TWRP,进入TWRP之后再在里面刷入永久Recovery。进入TWRP后,可以先做一个完整备份,包括系统、数据、Boot等分区。这个备份在后续出问题时能救命。

刷入ROM的方式有两种:一种是fastboot线刷,一种是Recovery卡刷。线刷适合官方完整包,卡刷适合第三方ROM。线刷的命令通常是:

fastboot flash system system.img fastboot flash boot boot.img

但不同ROM的刷入方式不一样,有些是一键脚本,有些需要手动刷多个分区。我的建议是优先看ROM作者提供的说明,不要自己瞎猜分区名。

3.3 刷机后的首次启动与数据恢复

刷完ROM后第一次启动会比较慢,因为系统需要重建缓存和初始化数据。小米手机第一次启动可能需要5到10分钟,期间屏幕可能黑屏或者卡在开机动画,这是正常的,不要急着强制重启。

首次启动完成后,建议先不要恢复数据,而是先确认系统基本功能正常:WiFi能不能连、相机能不能用、通话有没有声音。确认没问题之后再恢复数据。恢复数据可以用之前TWRP做的备份,也可以用小米自带的换机工具。

如果你刷的是第三方ROM,比如类原生系统,可能需要额外刷入GApps(Google服务框架)和Magisk(root权限)。GApps的版本要和ROM的安卓版本匹配,刷错了会导致系统无法启动。Magisk的刷入相对简单,在TWRP里直接刷入zip包就行。

提示:刷机后如果遇到无法开机、卡在开机动画的情况,先尝试进入Recovery双清(清除数据和缓存),再重启。如果还是不行,可能需要重新线刷官方包救砖。

4. Mac刷机常见报错与排查技巧实录

4.1 fastboot连接不到设备的排查思路

这是Mac用户遇到最多的问题。fastboot devices没有任何输出,但手机明明已经进入fastboot模式并且连着线。排查顺序如下:

第一,换线。很多Type-C线只支持充电不支持数据传输,尤其是随机附赠的线。换一根确认能传数据的线试试。

第二,换USB口。MacBook上的USB-C口有时候对fastboot模式的支持不好,尤其是通过扩展坞连接的时候。直接插在电脑机身上的口,不要用Hub。

第三,检查fastboot驱动。Mac上fastboot识别设备依赖的是系统自带的USB驱动,但有些小米机型需要额外的驱动才能被识别。可以在终端输入system_profiler SPUSBDataType,看看USB设备列表里有没有出现小米的设备。如果没有,说明系统层面就没认到。

第四,重启到fastboot的方式。有些机型用adb reboot bootloader进入fastboot后识别不到,但关机后按住音量减+电源键进入fastboot就能识别。这个差异和机型的bootloader实现有关。

4.2 adb unauthorized的解决方法

adb devices显示unauthorized,说明手机没有授权这台电脑。解决方法看起来很简单:在手机上点击“允许USB调试”。但有时候手机屏幕上根本不弹这个提示,或者点了允许之后还是显示unauthorized。

这种情况通常是ADB密钥的问题。Mac上的ADB密钥存放在~/.android/adbkey和~/.android/adbkey.pub。如果这两个文件损坏或者权限不对,就会导致授权失败。解决方法是删掉这两个文件,然后重启ADB服务:

rm ~/.android/adbkey ~/.android/adbkey.pub adb kill-server adb start-server

然后重新连接手机,手机上会重新弹出授权提示。点击允许后应该就能正常识别了。

还有一种情况是开发者选项里的“USB调试”开关需要关掉再打开,或者需要撤销USB调试授权后重新授权。在开发者选项里找到“撤销USB调试授权”,点一下,然后重新连接。

4.3 刷机过程中断的处理与救砖

刷机过程中最怕的就是中途断开连接,比如USB线松了、电脑休眠了、终端被意外关闭了。这种情况下手机可能处于半刷入状态,无法正常开机。

如果还能进入fastboot模式,那就有救。重新连接Mac,确认fastboot devices能识别到,然后重新刷入完整的官方包。小米官方包通常是一个.tgz压缩包,解压后里面有一个flash_all.sh脚本,在Mac上可以直接运行:

chmod +x flash_all.sh ./flash_all.sh

这个脚本会自动刷入所有分区,把手机恢复到官方系统状态。如果连fastboot都进不去,那可能需要进入EDL模式(9008模式)来救砖,但EDL模式需要特殊的授权文件,普通用户很难操作,建议直接找售后。

注意:刷机前一定要确认电量在50%以上,最好插着充电器操作。刷机过程中不要碰USB线,不要合盖休眠,终端不要关。

4.4 常见问题速查表

问题现象可能原因解决方法
adb devices列表为空USB线不支持数据传输换一根确认能传数据的线
adb devices显示unauthorizedADB密钥未授权删除~/.android/adbkey后重启ADB
fastboot devices无输出fastboot驱动问题或USB口问题换USB口,直插机身不用Hub
刷机后卡开机动画数据冲突或ROM不兼容进Recovery双清后重启
刷机中途断开USB连接不稳定重新进入fastboot,重刷官方包
Homebrew安装报错网络问题换国内镜像源或手动安装
fastboot flash报错分区名不对或镜像损坏核对ROM说明,重新下载镜像

5. 刷机前后的数据管理与系统优化

5.1 刷机前的完整备份策略

刷机会清空手机所有数据,所以备份是必须的。但备份不只是把照片拷到电脑上那么简单。我习惯分三层备份:

第一层是基础数据:照片、视频、文档、微信聊天记录。照片视频直接拷到Mac上,微信聊天记录用微信自带的迁移功能备份到另一台手机或者电脑上。

第二层是应用数据:很多应用的数据不在相册里,比如笔记类应用、记账类应用。这些需要用应用自带的导出功能,或者用小米云服务同步。小米云服务在刷机前可以手动同步一次,刷完机后再同步回来。

第三层是系统级备份:在TWRP里做一次完整的Nandroid备份,包括Boot、System、Data、Cache等分区。这个备份存在手机存储或者OTG U盘里,刷机出问题时可以直接恢复。Nandroid备份的好处是完整,缺点是占用空间大,而且跨版本恢复可能有问题。

提示:TWRP备份默认存在手机内部存储的TWRP文件夹里,刷机前把这个文件夹拷到Mac上,避免被清空。

5.2 刷机后的系统调优与常用配置

刷完机之后,系统是全新的,需要重新配置。我通常会做这几件事:

第一,关闭系统广告。小米的MIUI和澎湃OS里有很多系统级广告,刷完机后可以在设置里逐个关闭。主要位置在“设置-密码与安全-系统安全-广告服务”里关闭个性化广告推荐,然后在各个系统应用(如天气、日历、文件管理)的设置里关闭“内容推广”。

第二,调整动画速度。开发者选项里把窗口动画缩放、过渡动画缩放、Animator时长缩放都调到0.5x,系统会感觉流畅很多。

第三,配置ADB无线调试。小米手机支持ADB无线调试,在开发者选项里打开“无线调试”,然后可以在Mac上通过WiFi连接手机,不需要插线。命令是:

adb pair 手机IP:端口 adb connect 手机IP:端口

配对码在手机的无线调试界面里会显示。无线调试的好处是方便,缺点是速度比有线慢,刷机这种操作还是建议用有线。

第四,清理系统数据。刷完机后系统里会有一些残留的缓存和日志,可以在Recovery里再双清一次,或者用系统自带的清理工具清理一遍。mac系统数据怎么清理这个搜索词热度很高,说明很多人对系统存储管理有需求,手机端也是类似的逻辑,定期清理缓存能释放不少空间。

5.3 刷机后的ADB常用命令与日志抓取

刷完机后,ADB仍然是常用的调试工具。几个高频命令:

抓取日志:

adb logcat > log.txt

这个命令会把手机的所有日志输出到log.txt文件里。如果只想看某个应用的日志,可以加上过滤条件:

adb logcat | grep "关键词"

截图并保存到电脑:

adb exec-out screencap -p > screenshot.png

这个命令直接把截图保存到Mac当前目录,不需要先存到手机再拷出来。

安装应用:

adb install app.apk

卸载应用:

adb uninstall 包名

传文件到手机:

adb push 本地文件 /sdcard/目标路径

从手机拉文件到电脑:

adb pull /sdcard/文件路径 本地路径

这些命令在刷机后排错、调试、日常使用中都很实用。尤其是adb logcat,遇到应用闪退或者系统异常时,抓一份日志能快速定位问题。

6. 关于刷机这件事的一些个人体会

刷机这个事,说到底是拿时间换自由。官方系统稳定但限制多,第三方ROM自由但坑也多。我用Mac刷小米手机这些年,最大的体会是:环境搭建比刷机本身更耗时。ADB和fastboot在Mac上的配置一旦搞定,后面刷机的操作其实很快,十几分钟就能完成。但环境搭建可能会卡住新手一整天。

另一个体会是,不要追求最新版的工具。platform-tools更新频繁,但有时候新版本反而会有兼容性问题。我习惯用一个确认稳定的版本,除非遇到必须升级的情况,否则不轻易更新。TWRP和Magisk也是同理,稳定比新更重要。

还有就是,刷机前一定要想清楚为什么要刷。如果只是觉得官方系统广告多,其实可以通过关闭广告和卸载预装应用来解决,不一定非要刷机。刷机的真正价值在于获取root权限、安装类原生系统、或者体验新版本的安卓。如果这些对你来说不是刚需,那保持官方系统反而是更省心的选择。

最后分享一个小技巧:如果你经常刷机,可以在Mac上建一个专门的文件夹,把常用的工具(platform-tools、TWRP镜像、Magisk、常用ROM)都放在里面,再写一个简单的shell脚本自动配置PATH和检查设备连接。这样每次刷机的时候不用重新折腾环境,直接跑脚本就行。我自己写了一个check_device.sh,内容就是检查adb和fastboot能不能识别到设备,每次刷机前跑一下,能省不少事。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 8:08:50

S7-200 PLC与组态王道口智能联动控制系统实战解析

做火车道口控制这个项目之前,我一直觉得道口控制就是“火车来了,杆子放下,火车走了,杆子抬起”这么简单。真正上手用 S7-200 PLC 配合组态王做一套智能联动的道口控制系统之后,才发现里面的门道远不止这些——从车辆检…

作者头像 李华
网站建设 2026/9/28 8:08:18

聊聊SEO和GEO那点事——流量下滑的老板可以看看

前阵子和几个做生意的朋友聊天,大家都有一个共同的困惑:坚持做了好几年SEO,早几年效果还不错,有稳定的咨询量,但这几年流量一年比一年少,投入产出比越来越不划算。 不少人开始纠结:传统SEO效果明…

作者头像 李华
网站建设 2026/9/28 8:06:35

STM32上LVGL页面切换的三种方案与内存优化实战

1. 为什么STM32上做页面切换容易翻车:从一次卡死说起先讲个真实的经历。之前做一个基于STM32H750的智能家居中控屏,界面大概五六个页面,用LVGL 8.3版本,跑在FreeRTOS上。前期在PC模拟器里调试一切正常,切页动画流畅得不…

作者头像 李华
网站建设 2026/9/28 8:05:55

红外与可见光图像融合实战:轻量CNN+双分支门控融合源码

简介:本资源是一份面向高校计算机视觉方向课程设计与期末大作业的深度学习实践项目,聚焦红外与可见光图像融合这一多模态图像处理典型任务,适用于具备Python基础与PyTorch/TensorFlow入门经验的学习者。压缩包共3个Python源文件(7…

作者头像 李华
网站建设 2026/9/28 8:05:47

基于EasyX的C++五子棋游戏设计与实现:从绘图到AI判定

简介:一份基于easyx图形库的C五子棋游戏完整源码,适合C初学者、游戏开发爱好者以及图形界面编程入门者学习与实践。项目实现了棋盘绘制、落子交互、胜负判断等核心玩法,并通过easyx完成窗口渲染和鼠标操作,整体逻辑清晰&#xff0…

作者头像 李华
网站建设 2026/9/28 8:05:47

书法字体数据闭环:204张手写汉字PNG与轻量训练实践

简介:本资源是一套面向书法识别与生成方向的Python实践项目,适用于图像处理初学者、机器学习入门者及传统文化数字化研究者,聚焦书法字体图像的自动化采集、预处理与模型训练全流程。压缩包共207个文件,含204张PNG书法字图&#x…

作者头像 李华