大家好,又见面了,我是你们的朋友全栈君。
Written by Qing Xiaonan 2018-8-25
1. 摘要
虽然手机在完全root后存在一定风险,但是可以从事一些具有探索性的工作如修改手机游戏、修改APP权限要求、编写按键脚本等。此外,完全root非常适合那些拥有两个手机的人。这篇帖子以小米5 最新MIUI 10开发版系统完全root过程为例,介绍了一种通用的小米机型完全Root办法。
2. 重要概念及原理说明
root权限是什么?
root权限是系统的最高级权限,有了它什么事情都能干,把系统删掉都是可以的。当然,MIUI 开发版中安全中心授权的root权限只是root权限的很小一部分,几乎啥都干不了。所以才需要在这个基础上得到完整的root权限。
为什么开发版不给完整的root权限?
在开发版中,一旦用户拥有完整的root权限,可能会出现很多不可控的情况,这个是不太敢给的。
在开发版的基础上获得完整root权限的原理
手机上的权限是由一个权限管理软件进行管理的,默认是官方的权限管理软件,集成到系统中了。如果将这个官方的权限管理程序替换成第三方的权限管理软件,那么我们就可以拥有完整的root权限了。
不幸的是,这个软件虽然是一个APP,但是是没有办法正常安装的。会出现“二进制占位”等看不懂的错误。这是为什么呢?因为系统怎么可能让这样一个危险权限管理软件得以存在呢?
诶?还是有办法滴!
手机系统中有一个叫recovery程序的东西,可以在这个上面刷入和系统相关的安装包,如系统升级补丁和崭新的另一个系统等,有点像电脑中的BIOS,但是BIOS是集成在主板上的,这个不是。可以在这个recovery上刷如超级权限管理软件。
但是,又不幸的是。官方默认的recovery怎么会让你刷这种软件呢?肯定是不会让你成功的啦!
所以,整个root过程最关键的一步来了,就是刷入第三方的recovery替换掉原来官方的recovery,然后在第三方的recovery上刷入超级权限管理软件替换掉官方原来的权限管理程序,这样你就成功啦!
而值得一提的是,刷入第三方recovery的方法是使用 Android Debug Bridge(adb 安卓调试桥) tools,这个应该算最根本的方法了吧。
3. 方法框架
- 解锁BL刷机锁(老机型不需要)并先刷MIUI10 开发版
- 申请root权限,自动下载所需文件
- 解锁System分区
- 刷入第三方recovery
- 在第三方recovery中安装superSU
4. 具体流程
4.1 解锁BL刷机锁(老机型不需要)并先刷MIUI10 开发版
比较新的小米手机都有一个刷机锁,这里着重提一下,这个东西的发明是很牛逼的。刷机锁没有打开的时候,你是刷不了机的,而解锁必须要用机主的小米账号在电脑端登录解锁工具解锁。也就是说,手机丢了被别人捡到了,别人不知道密码打不开手机,想刷机也没办法,只能拆了手机卖硬件。
在设置 -> 开发者选项 -> 设备解锁状态中查看锁定情况,如果是锁定的并且现在要开锁,那么就下载解锁工具解锁,全过程很简单跟着官方教程走就行了。
刷机锁的网站在这里:http://www.miui.com/unlock/done.html
解锁之后,需要下载一个MIUI10开发版系统(线刷版)
MIUI10开发版线刷包:http://www.miui.com/zt/miuirom/download.php
然后再下载一个线刷工具,在电脑上线刷就可以了。 刷机工具在MIUI论坛官网上下载: http://www.miui.com/shuaji-393.html
线刷MIUI10长这个样子
注意:在右下角有一个选项,不要选择“全部删除并lock”,要不然你还得再解锁一次。
4.2 申请root权限,自动下载所需文件
这个非常简单,打开刚刷好的MIUI10开发版,在 安全中心->应用管理>权限 里面申请root权限,确定之后会从官方那里下载root所需要的剩下的一些文件。
4.3 解锁System分区
这一步是为了之后能畅通无阻地修改System中的内容。
先取搞一个adb工具包,附件1,下载不了的去网上搜一个,或者Android sdk会自带。
手机直接用USB线连接电脑,打开USB调试,在adb工具的命令行中输入下面的代码,完成解锁系统分区
adb root
adb disable-verity
4.4 刷入第三方recovery
这是最关键的步骤,推荐第三方recovery为TWRP,在这个里面找到你手机对应的TWRP版本,如果找错了有可能刷成转,所以一定要细心。几乎所有的小米手机在这里都有对应的TWRP版本,这还是比较好滴!
附上官网地址:https://twrp.me/
这个软件是一个拓展名为img的文件,将它放到adb工具包里面,(只是为了方便),然后在windows中调用Cmd窗口,输入相应的指令。以Win10为例。下面是我的做法:
在空白处按住shift,右键选择在此处打开命令窗口,进入该处的Cmd
与此同时,依旧将手机用USB线与电脑连接,将手机关机,同时按下“音量键下”+“关机键”3秒钟,松开手,手机会进入FAST BOOT模式。(如果按“音量键上”+“关机键”3秒钟会进入recovery程序)
在Cmd窗口中输入下面的代码查看手机有没有被识别到
fastboot devices
如果出现手机的硬件号码,像这样就证明成功了,(涂掉了,不给你看)
再输入下面的代码,安装第三方recovery,下面的代码中,“recovery.img”是你第三方recovery的文件名字,可以根据实际的适当调整。不一定非要叫“recovery.img”
fastboot flash recovery recovery.img
如果出现下面的提示,那就成功了,值得一提的是,第三方recovery还没有完全安装到手机里面,需要等你来会心一击。
再输入下面的代码进入第三方recovery
fastboot boot recovery.img
会出现下面的提示,然后等待10秒钟,手机会重启进入第三方recovery,这里是TWRP的程序中
刚开始,长这个样子
按住这三个小三角向右滑动,完成TWRP的安装
4.5 在第三方recovery中安装superSU
这一步还是比较简单的,SuperSU是一个APP,它可以由apk形式的安装包,也可以由zip形式的卡刷包。这里我们使用zip形式的卡刷包,需要事先搞一个,放到存储目录里面,任何位置都可以。(你也可以在刷第三方recovery之前就把它放进去,这样就少重启一次)
然后关机重启,按住“音量键上”+“关机键”3秒钟进入recovery程序,这次应该进的是TWRP程序了,官方的那个应该已经被换掉了。在程序的主页面中点击install,选择SuperSU的zip安装包存放的地址路径,安装即可。重启手机,Root过程就算结束啦!你现在可以秒天秒地秒世界啦!
秦晓楠 2018-8-25
请珍惜作者劳动成果,转载请注明出处!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135793.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...