LittleFox

  • 博客
  • 收藏
  • 关于
  • 订阅本站
LittleFox
Simple & Naïve
  1. 首页
  2. 挨踢
  3. 正文

升级到Android 12并保留数据及Magisk

2022年2月18日 105点热度 3人点赞 0条评论

经过了漫长的等待,Magisk 24正式版终于发布,带来了Android 12支持,于是打算给自己的主力机更新到Android 12。查了下网上的资料,尤其是中文资料不是很全面,很多内容已经过时,于是记录一下我成功升级的操作过程。

!Attention!

  • 如果使用的是旧版本的Magisk,刷入Android 12打补丁后的boot.img后会无法开机,必须清除数据;但是build 23016已解决此问题,Magisk 24正式版无需清除数据,但是跨版本升级可能会遇到bug(比如我),所以我个人仍建议清除
  • 我的设备为Android 11(已装Magisk)升Android 12,以下教程以Google Pixel官方镜像为例,请根据自己的实际情况做出调整

前期准备

  • 下载正确版本的镜像并核对SHA-256,确认无误后解压,提取boot.img
  • 下载Platform Tools,为了使用adb和fastboot,尽量使用最新版本
  • 下载并安装USB驱动,否则系统无法识别fastboot模式下的手机
  • 备份手机上所有你认为重要的文件,虽然理论上升级不会丢失数据

操作前

  • 更新Magisk app及Magisk至最新稳定版,当前为24.1,重启
  • 用Magisk app给boot.img打补丁,保存生成的文件magisk_patched-24100_xxxxx.img(后几位是随机字符,xxxxx仅为代指)至电脑
  • 禁用所有EdXposed模块,重启。因为EdXposed未对Android 12做兼容,可能出现问题。LSPosed已兼容,但我未测试
  • 在Magisk中禁用EdXposed及其他可能不兼容的模块,重启
  • 更新Riru(因为EdXposed不支持Riru26,之前没有更新,但是为了兼容性,最好在升级前更新),重启
  • 将镜像解压得到的所有文件、Platform Tools解压得到的所有文件、magisk_patched-24100_xxxxx.img放在同一目录下,为了防止系统内存在多个adb及fastboot引发问题,我们所有操作均在该目录下进行
  • 如果不想丢失数据,修改flash-all.bat(Linux系统修改flash-all.sh),把fastboot命令后面的-w去掉,否则升级会清除数据

开始操作

  • 确保手机bootloader已解锁并开启USB调试(未解锁的自己搜索解锁方法),连接电脑
  • 在当前目录下启动power shell,以下命令全部在powershell中执行
  • ./adb devices
    • 会显示设备ID。如果该设备是第一次在这个电脑使用,需要在手机上允许调试,然后再次运行该命令
    • 如果不报错也找不到设备,换根线或者换个USB接口
    • 如果你用的是cmd不是powershell,必须把“/”换成“\”,powershell二者均可
  • ./adb reboot bootloader
    • 手机会重启进入bootloader,不要操作手机
  • ./fastboot devices
    • 这一步是为了检查连接是否正常,注意此时adb devices是识别不到设备的
    • 如果fastboot找不到设备,请确认USB驱动已正确安装,正常情况下,设备管理器中应显示Android Bootloader Interface
Device manager showing android bootloader interface
  • ./flash-all.bat
    • 如果不想丢失数据,执行前请务必确认-w已删除
  • 等待脚本运行完毕,一般需要几分钟时间,期间一定不要断开连接或关闭窗口
  • 脚本运行完毕后,手机会自动重启,等待升级完成,正常进入系统,此时系统是没有root的
  • ./adb reboot bootloader
    • 再次进入bootloader,不要操作手机
  • ./fastboot flash boot magisk_patched-24100_xxxxx.img
    • 刷入打补丁的boot.img
  • 刷入完成后,在bootloader界面选择Start,手机启动
  • 如果一切正常,此时手机已经正常升级,并保留了数据和Magisk

FAQ

  • bootloop了怎么办?
    • 根据官网的方法移除或禁用所有模块
    • 我遇到了蜜汁bug,第一次刷打补丁的boot.img正常,装模块以后bootloop,然后卸载模块依然bootloop,最后只好wipe data重刷之后解决。

参考资料

[Guide] Root Pixel 5 Android 12 with Magisk

Pixel 5 Android 12 Magisk 食用指南

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: Android Magisk 手机
最后更新:2022年2月21日

Fox

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

公告

由于主题和插件冲突,暂时关闭了评论的第三方登录功能。

分类
  • 挨踢 / 39篇
  • 日常 / 2篇
  • 随想 / 8篇
  • 默认分类 / 1篇

COPYRIGHT © 2022 littlefox.me. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang