
1. 为什么Mac用户刷小米手机总踩坑用Mac给小米手机刷机的朋友十个里有八个在第一步就卡住了。Windows上那些一键刷机工具、各种绿色版客户端到了macOS上要么根本装不上要么装上了也识别不到设备。这不是你操作有问题而是整个安卓刷机生态长期以来就是围绕Windows搭建的Mac用户天然处于“二等公民”的位置。我自己用MacBook Pro折腾小米手机刷机少说也有几十次了从早期的红米Note系列到最近的小米14从MIUI到澎湃OS踩过的坑包括但不限于fastboot识别不到设备、adb devices显示unauthorized、刷到一半报错变砖、驱动装了跟没装一样。这些问题在Windows上可能五分钟解决在Mac上得花两小时查资料。这篇内容就是把我这些年积累的经验完整梳理出来。核心关键词Mac、小米手机、刷机、ADB、fastboot。适合所有用Mac并且想给小米手机刷机的朋友不管你是第一次刷机的新手还是刷过几次但总遇到问题的老手都能从这里找到可直接复现的操作方案。整篇内容会从底层原理讲起把ADB和fastboot在macOS上的工作机制说清楚然后给出完整的实操流程最后附上我整理的常见问题速查表和独家避坑技巧。你不需要有编程基础只要能看懂终端命令就行。2. 刷机前的底层认知ADB和fastboot到底是什么2.1 用生活化类比理解ADB和fastboot很多人刷机失败的根本原因是没搞清楚ADB和fastboot分别在什么阶段起作用。我用一个类比来解释把小米手机想象成一栋房子。ADBAndroid Debug Bridge相当于你拿着钥匙从正门进去房子里的家具、电器你都能操作但前提是房子已经建好了、系统正常运行着。fastboot则是房子还没盖好或者正在重建时你从工地侧门进去这时候只能做一些基础操作比如重新浇筑地基刷入系统镜像。具体来说ADB模式手机正常开机进入系统后通过USB连接电脑可以执行安装应用、抓取日志、截图、传文件等操作。前提是手机已经开启了USB调试。fastboot模式手机完全关机后按住特定按键组合进入的一种底层模式。这个模式下安卓系统还没启动你可以刷入recovery、boot、system等分区镜像。这是刷机的核心环节。Mac用户遇到的第一个大坑就在这里macOS上不需要安装驱动但需要正确配置环境变量和USB权限。Windows用户装个驱动精灵就搞定的事Mac上得手动来。2.2 为什么Mac上刷机工具这么少这背后的原因其实很简单刷机工具的开发者和主要用户群体集中在Windows平台。国内做刷机工具的团队优先适配的肯定是用户量最大的Windows。macOS的市场份额虽然在增长但在刷机这个细分领域用户基数还是太小不值得单独开发客户端。所以Mac用户刷小米手机基本只有两条路纯命令行方案用Google官方提供的platform-tools包含adb和fastboot通过终端操作。这是最可靠的方式也是我强烈推荐的。第三方跨平台工具比如某些基于Java或Python开发的刷机工具但稳定性和更新频率都堪忧。我试过好几个所谓的Mac版刷机工具要么版本太老不支持新机型要么刷到一半崩溃。最后还是回到了命令行方案虽然看起来“原始”但胜在稳定可控。2.3 小米澎湃OS带来的新变化小米从MIUI切换到澎湃OS之后刷机流程有一些值得注意的变化。澎湃OS对bootloader解锁的审核更严格了社区里反馈解锁等待时间变长的情况不少。另外澎湃OS的分区结构和之前有一些调整刷机时如果用的是老版本的fastboot工具可能会遇到分区找不到的问题。我的建议是不管你刷的是MIUI还是澎湃OS始终使用最新版的platform-tools。Google大概每几个月就会更新一次新版本对新的分区格式支持更好。3. Mac端环境搭建从零配置ADB和fastboot3.1 安装Homebrew并解决常见报错在Mac上安装ADB和fastboot最方便的方式是通过Homebrew。Homebrew是macOS上的包管理器相当于App Store的命令行版本。安装Homebrew的命令/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)但这里有个高频问题mac安装homebrew报错。最常见的报错是网络超时因为Homebrew的安装脚本需要从GitHub拉取资源。如果你遇到这种情况可以尝试用国内镜像源安装/bin/bash -c $(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)安装完成后需要把Homebrew添加到环境变量。Apple Silicon芯片M1/M2/M3的Mac和Intel芯片的MacHomebrew的安装路径不同# Apple Silicon芯片 echo eval $(/opt/homebrew/bin/brew shellenv) ~/.zshrc source ~/.zshrc # Intel芯片 echo eval $(/usr/local/bin/brew shellenv) ~/.zshrc source ~/.zshrc注意如果你用的是bash而不是zsh把上面命令中的.zshrc换成.bash_profile。3.2 安装platform-tools的两种方式方式一通过Homebrew安装推荐brew install --cask android-platform-tools这条命令会自动安装最新版的adb和fastboot并配置好环境变量。安装完成后在终端输入adb version如果能看到版本号就说明成功了。方式二手动下载安装如果Homebrew实在装不上可以去Google开发者官网下载platform-tools的压缩包解压后把路径添加到环境变量# 假设解压到了 ~/platform-tools 目录 echo export PATH$PATH:~/platform-tools ~/.zshrc source ~/.zshrc这种方式的好处是不依赖Homebrew坏处是每次更新都要手动下载替换。3.3 验证安装是否成功安装完成后用以下命令验证adb version fastboot --version如果两个命令都能正常输出版本信息说明环境搭建完成。如果提示command not found说明环境变量没配置对检查一下你的shell配置文件。我个人的经验是Apple Silicon Mac上通过Homebrew安装是最省心的。手动配置环境变量虽然也不难但容易在路径上出错特别是如果你同时装了多个版本的platform-tools可能会出现版本冲突。4. 小米手机刷机全流程实操4.1 刷机前的准备工作在开始刷机之前有几件事必须提前做好否则后面会非常被动第一备份数据。刷机会清空手机上的所有数据包括照片、聊天记录、应用数据。小米自带的备份功能可以把数据备份到本地或云端但我的建议是重要数据手动复制到电脑上因为刷机后恢复备份有时会出现兼容性问题。第二确保电量充足。刷机过程中手机不能断电电量至少要在50%以上最好充满。第三下载好刷机包。小米官方刷机包可以在小米社区或MIUI官网下载。注意区分“线刷包”和“卡刷包”线刷包fastboot包通过电脑连接手机刷入文件格式通常是.tgz这是本文重点讲的。卡刷包recovery包放到手机存储里通过recovery刷入文件格式是.zip。第四解锁bootloader。小米手机刷机必须先解锁bootloader。解锁工具是小米官方的小米解锁工具但注意这个工具只有Windows版。Mac用户需要用其他方式解锁具体方法在下一节详细说。4.2 解锁bootloader的Mac替代方案小米官方的解锁工具只支持Windows这是Mac用户面临的又一道坎。我试过几种解决方案方案一借用Windows电脑解锁。这是最稳妥的方式。找一台Windows电脑安装小米解锁工具登录小米账号按提示操作。解锁需要等待72小时小米的冷却期期间可以正常使用手机。方案二用虚拟机跑Windows。在Mac上装Parallels Desktop或VMware Fusion然后在虚拟机里运行小米解锁工具。这个方案可行但虚拟机识别USB设备有时会出问题需要手动把USB设备挂载到虚拟机。方案三命令行解锁不推荐新手。理论上可以用fastboot命令直接执行解锁但小米的解锁需要验证账号和绑定关系纯命令行操作非常复杂且容易出错。提示解锁bootloader会清除手机所有数据且会触发安全警告。解锁后部分银行类应用可能无法使用这是正常现象。4.3 进入fastboot模式并连接Mac解锁完成后就可以开始刷机了。首先让手机进入fastboot模式手机完全关机。同时按住音量下键 电源键直到屏幕上出现一只兔子修理安卓机器人的画面这就是fastboot模式。用USB线连接手机和Mac。连接后在终端输入fastboot devices如果输出了一串设备序列号说明连接成功。如果没有任何输出说明Mac没有识别到设备这是最常见的问题之一。fastboot连接不到设备的排查思路换一根USB线最好是手机原装的。很多第三方线只能充电不能传数据。换一个USB接口Mac上的USB-C口有时比USB-A口更稳定。检查手机是否真的进入了fastboot模式屏幕上应该有明确的提示。如果是Apple Silicon Mac尝试重启终端后再试。4.4 执行刷机操作小米的线刷包解压后通常会包含一个flash_all.sh脚本Mac/Linux用和flash_all.bat脚本Windows用。Mac用户直接用shell脚本cd /path/to/刷机包目录 chmod x flash_all.sh ./flash_all.sh脚本会自动执行一系列fastboot命令依次刷入各个分区。整个过程大概需要5到15分钟取决于刷机包大小和USB传输速度。刷机过程中终端会输出每个分区的刷入进度。如果中途出现FAILED或error不要慌先看错误信息是什么。常见的错误包括Partition not found刷机包和手机型号不匹配。Write protectedbootloader没有正确解锁。TimeoutUSB连接不稳定换线或换接口重试。刷机完成后手机会自动重启。第一次开机时间会比较长可能需要5到10分钟耐心等待即可。4.5 刷机后的初始设置手机重启进入系统后需要重新进行初始设置。如果你刷的是官方ROM按照提示一步步操作就行。如果刷的是第三方ROM可能需要额外刷入Google服务框架或其他组件。刷机后建议先不要急着恢复数据先确认系统能正常使用、WiFi能连、通话正常再恢复数据。这样万一系统有问题排查起来会简单很多。5. 常见问题与排查技巧实录5.1 ADB和fastboot高频问题速查表问题现象可能原因解决方法adb devices显示unauthorized手机没有授权电脑调试在手机屏幕上点击“允许USB调试”勾选“始终允许”fastboot devices无输出USB线或接口问题换原装线、换USB口、重启终端command not found: adb环境变量未配置检查.zshrc或.bash_profile中的PATH配置刷机脚本执行到一半报错刷机包与机型不匹配确认下载的是对应机型的线刷包刷机后无法开机刷机过程中断或分区损坏重新进入fastboot模式重新刷入完整包adb logcat抓不到日志手机未开启USB调试设置-开发者选项-开启USB调试Mac识别不到fastboot设备macOS USB权限问题重启Mac或在系统报告中检查USB设备树5.2 我踩过的三个大坑第一个坑用错了platform-tools版本。有一次刷小米13用的是两年前下载的platform-tools结果fastboot一直报unknown partition。折腾了半天才意识到是工具版本太老不支持新的分区命名。更新到最新版后一次成功。所以永远用最新版的platform-tools这是铁律。第二个坑USB Hub导致的连接不稳定。我习惯把手机插在Mac的USB Hub上结果fastboot时好时坏。后来直接插在Mac机身上问题消失。刷机这种对稳定性要求极高的操作千万不要用Hub直接插电脑。第三个坑忽略了macOS的USB配件权限。较新版本的macOS对USB配件有安全限制第一次连接新设备时会弹出“允许配件连接”的提示。如果你没注意这个提示或者不小心点了“不允许”设备就不会被识别。去“系统设置-隐私与安全性”里可以重新允许。5.3 独家避坑技巧技巧一刷机前先用fastboot getvar all检查设备信息。这条命令会输出手机的所有硬件信息包括当前版本、分区布局等。刷机前跑一遍确认设备能被正确识别也能提前发现潜在问题。技巧二把刷机脚本里的命令逐条执行。小米的flash_all.sh脚本是一口气执行所有刷机命令的。如果你对刷机流程不熟悉可以打开脚本把里面的命令一条条复制到终端执行。这样出问题时能精确定位到是哪一步失败。技巧三保留一份原厂刷机包。刷第三方ROM出问题时用原厂线刷包可以快速恢复。我习惯在移动硬盘里存一份当前手机型号的原厂线刷包关键时刻能救命。技巧四用adb logcat抓取日志排查问题。如果刷机后系统有异常可以用adb logcat抓取系统日志。命令是adb logcat -d log.txt这会把当前日志导出到log.txt文件方便分析。如果日志太多可以用adb logcat *:E只看错误级别的日志。6. 刷机之外的实用ADB技巧6.1 用ADB截图和传文件ADB不只是刷机用的日常使用也很方便。比如# 截图并保存到电脑 adb exec-out screencap -p screenshot.png # 从电脑传文件到手机 adb push local_file.txt /sdcard/ # 从手机传文件到电脑 adb pull /sdcard/photo.jpg ./这些命令在Mac上都能直接用不需要额外安装软件。我经常用adb exec-out screencap来截取手机屏幕比在手机上按组合键方便多了。6.2 ADB无线调试小米手机支持ADB无线调试不需要USB线就能连接。操作步骤确保手机和Mac在同一个WiFi网络下。手机进入开发者选项开启“无线调试”。在Mac终端输入adb pair 手机IP:配对端口 adb connect 手机IP:调试端口配对端口和调试端口在手机的无线调试页面可以看到。连接成功后就可以不用USB线执行ADB命令了。注意无线调试的稳定性不如USB刷机这种关键操作还是建议用USB线。6.3 用ADB精简系统应用小米手机预装了不少用不到的应用可以用ADB卸载。命令格式adb shell pm uninstall --user 0 应用包名查看应用包名的命令adb shell pm list packages | grep 关键词比如要卸载小米视频adb shell pm list packages | grep video adb shell pm uninstall --user 0 com.miui.video这种卸载方式不需要root权限而且恢复出厂设置后应用会回来相对安全。但注意不要卸载系统核心应用否则可能导致系统异常。7. 关于刷机这件事的一些个人体会刷机这件事说难不难说简单也不简单。核心就两点环境配置正确和操作步骤规范。Mac用户之所以觉得难主要是因为网上大部分教程都是针对Windows的Mac相关的资料少且零散。我自己的经验是一旦你把ADB和fastboot的环境配置好了后面刷机就是几条命令的事。真正花时间的是排查各种连接问题和版本兼容问题。所以我的建议是第一次刷机前花半小时把环境搭好、把设备识别问题解决掉后面就一马平川了。另外刷机有风险这是实话。虽然小米手机的刷机机制相对成熟变砖的概率很低但万一遇到问题不要慌fastboot模式下基本都能救回来。实在不行去小米售后他们有线刷工具能强制恢复。最后分享一个小技巧如果你经常刷机可以在Mac上建一个专门的目录把platform-tools、常用刷机包、解锁工具都放在里面。需要的时候直接cd进去省得每次找路径。这个习惯帮我省了不少时间。