首先了解一下Android系统中Root权限的概念
同Linux相似,Android系统中的Root权限是Android系统中的最高权限,可以完成绝大部分需要高权限的操作
因此,获取Root权限后,应妥善管理,不应给可疑软件Root权限,更不应随意使用Root权限修改系统文件,因Root权限管理/使用不当导致的问题,轻则系统出现bug,重则变砖
注:本章目前仅适用于A-only设备,其他设备敬请期待
正文开始
操作前准备
- 设备Bootloader已解锁
- 一台电脑,数据线(最好是原装),电脑已安装驱动,已下载fastboot工具包
- (可选但推荐)给设备刷入一个第三方Recovery
正式操作
目前有两种主流的Root方案:Magisk(面具) 和 KernelSU
Magisk是建议的root方案,它比较简单,适用于入门用户
KernelSU较为高级,且兼容的内核版本没有Magisk广泛,但KernelSU在内核层面提供root,反检测能力更强,适用于高级用户
强烈建议:在刷入Magisk前备份boot镜像,供无法开机时恢复
---------- 1.使用Magisk ----------
方案一:提取boot并刷入(较稳定)
1.获取设备的boot镜像
获取boot镜像的一般方式是从刷机包中提取
注:如果设备的内核版本为5.15.XX – 6.1.XX,且内核版本中含有"android13"或更高android版本的字符串,请提取init_boot.img而不是boot.img,此时下文的"boot镜像"指的是init_boot.img;否则提取boot.img即可
从官方网站/其他途径下载该设备的(认真核对,设备代号必须一致),系统版本一致的卡刷包/线刷包
如果获取的刷机包不是zip格式,请自行在网上寻找解包方法
以压缩文件方式打开刷机包,一般会有两种情况:
1.可以直接看到boot.img/init_boot.img,提取即可
2.没有boot.img/init_boot.img,但是有payload.bin,请参考Magisk中文网的教程提取出boot镜像
2.使用Magisk修补boot镜像
1.将提取的boot镜像传到设备上,在设备上下载并安装Magisk,点击主页"Magisk"卡片右上角的"安装"
2.Magisk可能会提供一些选项,若无特殊需求则直接点击"下一步",若没有则忽略
3.点击"选择并修补一个文件",选择提取的boot镜像,点击"开始",等待
4.依照Magisk输出中给出的修补后的镜像路径,将修补后的镜像传给电脑
注:有些机型支持使用fastboot boot boot镜像路径 的方式来临时启动boot镜像,如果magisk正常工作,再使用刷入命令刷入;这样的好处在于,如果magisk没有正常工作,可以直接重启来恢复,建议优先使用该方法
5.手机进入fastboot,用数据线连接电脑和设备,在具有fastboot的目录下执行此命令:
fastboot flash boot 修补后的boot镜像路径
(如果设备刷入了第三方Recovery,可忽略第4步和第5步,直接在Recovery中刷入镜像)
不出意外,fastboot应该刷入成功,重启设备,设备应该正常开机,Magisk正常工作
如果打开Magisk后提示"需要修复运行环境"或其他问题,请按照指引操作,此时在刷入时可以直接选择"直接安装"
若不能正常工作,请刷回原来的boot镜像,使用该指令:
fastboot flash boot boot镜像路径
方案二:使用第三方Recovery卡刷
这种方法更简便,尤其是设备刷入了第三方Recovery,而boot镜像的获取比较困难之时,直接卡刷是一个不错的选择
这种方案仅需要:
- 获取Magisk安装包并安装,但是不要删除安装包
- 在第三方Recovery中直接安装该Magisk安装包.如果Recovery的刷入界面中找不到Magisk安装包,请在文件管理中把安装包的后缀改为.zip
- 重启.不出意外,Magisk正常工作
如果Magisk没有正常工作,请使用Recovery或电脑刷入备份的boot镜像
如果打开Magisk后提示"需要修复运行环境"或其他问题,请按照指引操作,此时在刷入时可以直接选择"直接安装"
---------- 2.使用KernelSU ----------
操作前准备
- 设备Bootloader已解锁
- 设备使用的是gki内核(不知道什么是gki内核没关系,可使用KernelSU管理器查看,见下文)
- 一台电脑,数据线(最好是原装),电脑已安装驱动,已下载fastboot工具包
- (可选但推荐)给设备刷入一个第三方Recovery
正式操作
1.检查支持
从KernelSU github release下载KernelSU管理器(文件名为xxx.apk,建议最新版本)后安装并打开
如果KernelSU显示的是"不支持",则表明KernelSU不支持该设备,这很大概率上是因为设备内核非gki内核.你可以尝试自己编译内核,但这不是本章节讨论的内容
如果KernelSU显示的是"未安装",则表明设备支持KernelSU,可以进行下一步操作
2.获取内核并刷入
强烈建议:在刷入KernelSU前备份设备boot镜像,以供无法启动时恢复
首先查看你的内核版本,看完下文gki内核版本概述,并在KernelSU github release获取正确的boot镜像
gki内核的内核版本大致的组成是这样的:
内核大版本.patchlevel.sublevel-内核android版本-KmiGeneration-其他
比如一个内核的内核版本为5.10.335-android13-9-g12345678
那么,该内核的内核大版本为5,patchlevel为10,sublevel为335,内核android版本为13,KmiGeneration为9,g12345678为其他部分
刷入的boot镜像中 内核大版本,patchlevel,内核android版本和KmiGeneration必须一致,理论上sublevel不一致也能开机
boot镜像的内核压缩方式也需要注意,不同机型有不同的压缩方式,一般是lz4和gzip,小米设备主要是gzip
同样需要注意Android安全补丁级别,最好刷入Android安全补丁级别一致的boot镜像,否则可能会不开机
在KernelSU github release中获取内核android版本,内核大版本,patchlevel,Android安全补丁级别,内核压缩方式一致的boot镜像
(最好sublevel也一致)
下面开始刷入boot镜像
注:建议先临时启动boot镜像,若无问题再进行刷入;指令:fastboot boot boot镜像路径
如果设备刷入了第三方Recovery,可以使用Recovery进行刷入镜像操作
手机进入fastboot,用数据线连接电脑和设备,在具有fastboot的目录下执行此命令:
fastboot flash boot boot镜像路径
不出意外,fastboot应该刷入成功. 重启设备,若成功进入系统,且KernelSU管理器显示"工作中",则刷入成功
如果KernelSU没有正常工作,使用如下指令刷入备份的boot镜像来恢复:
fastboot flash boot 备份的原boot镜像路径