Skip to content

Mi8G3-Unlocker Auto v5.0.0

Choose a tag to compare

@Linuxoid-cn Linuxoid-cn released this 22 May 10:51
· 13 commits to main since this release
1564f13

🚀 Mi8G3-Unlocker Auto v5.0.0 : 支持高版本!!!

新版脚本在原有逻辑的基础上进行了大幅度的重构与优化。本次更新主要聚焦于规范文件组织结构增强连接检测的健壮性以及完善错误阻断机制,从而降低了用户的刷机风险,提升了自动化执行的稳定性。


📂 1. 目录与文件结构重构

为了让项目资源分类更清晰,脚本对外部依赖的文件路径进行了统一规范:

  • 机型依赖分离:原版的 Xiaobao\ 目录被重命名并拆分为更具可读性的 unlockFolder\factoryImages\
  • 分区文件归类:原版散落在 items\ 目录下的 gpt 分区文件,在新版中统一整合至 unlockFolder\unlockGPT\ 路径下,并明确区分了用于解锁的 unlockgpt_both4.bin 与官方恢复用的 gpt_both4.bin
  • 引导镜像变更:加载的临时引导镜像由原版的 8gen3-Ennea.img 更名为 8650-Ennea.img

🛡️ 2. 增强 ADB 与 Fastboot 连接检测的健壮性

旧版脚本在某些连接检测环节存在死循环或缺乏计数尝试的问题,新版对此进行了全面补强:

  • 引入重试计数机制:在首次检查 ADB、二次检查 ADB 以及各阶段的 Fastboot 检测中(如 loop_check_1 / 2 / 3),统一引入了 10次 循环超时重试机制(每次等待 2 秒),避免因设备暂未加载完成而直接报错。
  • 优化首阶段 ADB 拦截:原版的 :check_device 失败后会无条件循环,新版 check_adb 模块配合计数器,提供了更友好的用户提示与回车重试等待逻辑。

⚠️ 3. 完善异常处理与命令执行安全

为了防止刷机过程中因单步命令失败而导致后续流程“硬着陆”,新版增强了逻辑判断:

  • ABL 推送状态校验:在新版 :flash_abl 阶段,通过 &&|| 运算符对 adb push 的执行状态进行了严格拦截。若工程 ABL 推送失败,脚本会及时拦截并提示用户检查通信,支持回车重新推送,而非像旧版一样盲目向下执行 dd 写入。
  • 灵活的流程跳转分支:引入了 ifFlash 变量标签,以便未来能够更弹性地控制是否跳过 :run_flashall 阶段,直接进入 GPT 刷写流程。

💻 4. 规范脚本退出机制

规范了 Windows 批处理在不同环境下的退出表现:

  • 防止污染父 shell:将大部分原版的 exit 替换为 exit /B 1,确保脚本在被其他终端嵌套调用时,只退出当前脚本进程而不会强行关闭用户的整个命令行窗口。
  • 环境感知末尾保留:在脚本末尾的 cmd /k 触发前加入了 if not defined IN_LOG_MODE 环境变量判断,为后续自动化日志留存或上层调用预留了接口。