随时间变化,刷机的方式和方法可能会发生变化,本文的内容仅供参考。

前言

之前有个旧手机想再刷个机凑合用一下,但是自己忘了怎么刷,上网重新学习了一下。结合自己的经验和遇到的问题,做出整理。

友情提醒:

刷机有风险,搞机需谨慎。

不要使用自己的常用手机刷机!!!

不要使用自己的常用手机刷机!!!

不要使用自己的常用手机刷机!!!

前期准备

  1. MIUI最新刷机包(目前小米社区已不再提供开发版刷机包,经测试稳定版也可以)

  2. Xiaomi Flash Tool(用于刷回MIUI作为底包)

  3. ADB(Android SDK Platform-Tools)(CN链接

  4. LineageOS(官方已经停止维护 Mi5s,历史版本需要从互联网博物馆下载)

  5. TWRP(替换自带的Recovery)

  6. OpenGapps(我选择的是ARM64+9.0+nano)(可选)官方推荐方案为 MindTheGapps

  7. SU(开启root权限,也可以使用Magisk)(可选)

  8. Google USB 驱动程序(启动USB调试后电脑找不到设备时使用)(CN链接(初次启动 MiFlashTool 会自己检查驱动问题)

以上内容都下载完大概包含以下文件:

  • 【MIUI线刷包】miui_MI5S_V11.0.2.0.OAGCNXM_6ce204eb2c_8.0.zip

  • 【MIUI卡刷包】capricorn_images_V11.0.2.0.OAGCNXM_20191023.0000.00_8.0_cn_714988e4b7.tgz

  • 【MiFlash】MiFlash2020-3-14-0.rar

  • 【ADB】platform-tools-latest-windows.zip

  • 【LineageOS】lineage-16.0-20210210-nightly-capricorn-signed.zip

  • 【TWRP】twrp-3.7.0_9-0-capricorn.img

  • 【MindTheGapps】MindTheGapps-9.0.0-arm64-20190615_031441.zip

  • 【SU】addonsu-16.0-arm64-signed.zip

刷机前

刷机前建议按照以下清单进行检查:

  • 官方教程解锁)

配置环境变量

  1. 解压ADB包到一个电脑位置,如:D:\platform-tools;

  2. 电脑中,打开“高级系统设置",打开”高级“标签,打开“环境变量”,“系统变量”中选择path,并点击“编辑”;

  3. 变量值末尾添加“D:\platform-tools;(与ADB解压路径名一致);确定;

  4. 测试在CMD中输入 adb ,回车后是否能够正常使用;

刷 MIUI 底包

(如果已经是最新版MIUI可以跳过此步,也可以选择不用 MiFlash 而用 TWRP 刷入)

使用 MiFlash

  1. 解压 MiFlash,启动 XiaoMiFlash.exe。(启动时会提示安装驱动,安装即可,可解决ADB和fastboot找不到驱动的问题

  2. 下载最新版MIUI线刷包,手机连接电脑,CMD 下输入 adb devices 看手机是否能弹出调试授权窗口;

  3. 输入 adb reboot bootloader,进入fastboot界面;

  4. 解压刷机包,在MiFlash中点击【选择】,选择解压的刷机包文件夹;

  5. 点击【加载设备】,确认设备已加载。;

  6. 下面选择【全部删除】;(不要选择lock)

  7. 之后点【刷机】;

  8. 等待重启。

  9. 完成设置进入系统后,检查开发者选项里【OEM解锁】是否是已解锁手机,如果已上锁则需要重新解锁。

使用 TWRP

与后面刷入 LineageOS 方法相同,在刷入 LineageOS 之前先刷入 MIUI 的卡刷包,之后再双清,再刷入 LineageOS。

刷入TWRP

  1. cmd命令窗口,输入 adb reboot bootloader,回车,重启进入 fastboot;

  2. cmd命令窗口,输入 fastboot devices,回车,命令窗口出现设备编号;

  3. cmd命令窗口,输入 fastboot flash recovery, 空一格,将下载的TWRP文件拖入命令窗口,回车,等待安装完成;

  4. 直接按 音量增 + 电源键出现MI,之后进入 TeamWin Recovery 界面;(如果没有进入TWRP而是进入系统则表示刷入TWRP失败)

  5. 如果刷入失败,cmd命令窗口,输入 fastboot boot, 空一格,将下载的TWRP文件拖入命令窗口,回车,刷入临时Recovery并自动进入。

  6. 进入后选择【Select Language】更改语言为简体中文。

刷入系统

清除已安装系统

选择“清除”–“高级清除”–选择除内部存储和USB以外的各项;“清除”–“格式化data分区”(如果已经备份数据也可以全部清除)

刷入系统这里分为两种方法:

线刷(系统包在电脑里)

  1. 选择“高级选项”–“ADB sideload”–勾选清除缓存–滑动确认;

  2. 电脑进入cmd命令窗口,输入 Adb sideload,空一格,拖入LineageOS 的系统包,回车,等待安装完成;

  3. 重复此过程,安装Google apps、SU 等;

  4. 重启手机,进入Lineage系统,安装完成。

卡刷(系统包在手机里)

  1. 启动TWRP后电脑的USB能识别到U盘,将 LineageOS 的压缩包放进去。

  2. 点击“安装”,刷入镜像,将 LineageOS 刷入。

  3. 视情况再安装其他如 Gapps、SU、Magisk 等等。

原生系统已知问题

去掉 WiFi 叉号

WiFi 探测服务器问题,安卓设备在连接一个 WiFi 后便会请求一个网址并等待返回 204 状态码,如果返回了 204 状态码则可证明此 WiFi 网络连通可用,但是由于众所周知的原因,这个网址在国内连接不上,因此屏幕右上角的 WiFi 标志一直带有一个 X 号并且在 WiFi 范围内不会主动连接,需要设置captive Portal:

1
2
adb shell settings put global captive_portal_http_url http://www.google.cn/generate_204
adb shell settings put global captive_portal_https_url https://www.google.cn/generate_204

重启手机

修改NTP服务器

不插 SIM 卡情况下无法校准时间。

1
2
adb root
adb shell settings put global ntp_server ntp1.aliyun.com

Root 相关

Magisk

(提供 root 权限,但与 LineageOS 官方提供的 su 冲突,如已经使用,请先使用 su removal 清除)(Magisk 24 以上已放弃 Riru 改为 Zygisk,本文采用最新版)

  1. 下载最新版本的 Magisk

  2. 将 扩展名 apk 改为 zip

  3. 使用 TWRP 刷入后,清除 cache 后,重启系统

LSPosed

用来安装 XPosed 框架。

  1. Magisk app 设置中,启动 Zygisk,重启

  2. 下载最新版本的 LSPosed

  3. Magisk app——模块——从本地安装

Shamiko

用于对其他应用隐藏 Magisk 和 root(类似于MagiskHide)

  1. Magisk app 设置中,关闭【遵守排除列表】,重启

  2. 下载最新版本的 Shamiko

  3. Magisk app——模块——从本地安装

  4. 从Magisk app 设置中,根据【配置排除列表】设置即可

参考资料