Root (Android)

Root是Android系统的一个术语，讓用户可以获取Android系统的超级用户权限。Root能夠帮助用户越过手机制造商的限制，得以卸载本身预装的程式，或執行需要系統權限的動作。Android系统的root與苹果iOS系统的越狱类似。

 优点与缺点 
 优点 
Root可以带来一些显而易见的好处。
 访问和管理设备上的每个文件，包括普通用户不可见的文件，例如/data目录。用户可以备份和还原整个系统，或把用户数据复制到另一个已root的设备。
 修改主题包，例如电池状态指示器样式、状态栏、虚拟导航键，甚至。
 完全控制内核。在某些设备上，用户可以超频CPU或GPU。
 完整的应用控制，包括备份还原和移除膨胀软件。
 安装提供额外控制和管理root权限的应用，例如Xposed、Magisk、、BusyBox
 使用更多Unix shell命令
 绕过设备生产商和Google的一些限制，比如Android 10中引入的分区存储(scoped storage)机制。
 更多的任务管理能力，可以终止行为错误或未响应的系统进程。
 可以直接降级应用，不会因为卸载应用导致数据丢失。
 控制充电电流。既可以移除系统不必要的最大电流限制，加快充电速度，也可以限制电流，延长电池寿命。
 限制充电时的电池容量，减少损耗。（许多较新的系统会提供此功能）
 绕过截屏拦截。在正常情况下，安卓给予应用阻止用户截屏/录屏的权限，应用可以阻止用户截取部分或整个应用。
 绕过签名验证。一般情况下，应用需要由开发者签名后才能安装。
 无需外部设备进行通话录音。某些地区的法律要求进行通话录音需征求另一方同意。

 缺点 
 导致软件和硬件的稳定性问题。
 不能通过Play Integrity API认证，导致有些应用不能工作或不会显示在Play store中。在有些设备上，解锁bootloader后就不能通过认证了。

 获取方法 

 漏洞 
不同手机厂商、系统和版本可能存在的漏洞和后门不同，因此不同手机的root原理、方法、难度都可能不同。Root需将su可执行文件复制到Android系统的/system分区下（例如：/system/xbin/su）并用chmod命令为其设置可执行权限和setuid权限。

曾经被广泛利用的系统漏洞之一是zergRush，该漏洞适用于Android 2.2-2.3.6，因而适用于很多Android系统手机。zergRush的漏洞利用程序必须在adb shell下运行，而adb shell只能将手机用USB数据线与PC连接之后才能開啟，因此常用的root工具都是PC程式。其他漏洞还有Gingerbreak、psneuter等。

一些“一键root”工具（例如KingRoot）可以直接利用漏洞获取root，无需连接电脑，程式通常簡易操作，不需親自執行，但通常只对部分系统或机型适用。

为了讓用户可以控制root权限的使用，防止手机上的任意应用程序直接获得root权限，用户通常还會將root管理程序复制（安装）到/system/app，用以管理su程序的使用。常用的root管理器是SuperSU，它可以在Android 6.0以前的绝大部分平台上使用。由于Android应用程序在获得root权限后可以完全控制手机，一般推荐用户对于应用程序的权限请求仔细甄别。

随着Android版本更新，这些漏洞已被修复。

 Magisk 

Magisk是当前Android社区用来获取root权限的主流方式，其作为一套用于定制Android的开源工具，支持高于Android 6.0的设备。与传统的root方式不同的是，Magisk是systemless的，不会实际写入文件到/system分区。Magisk使用magic mount，将su文件和模块中的部分文件”映射”到/system分区上。

对于已解锁Bootloader的设备来说，主流的Magisk安装方式有两种，一为使用adb工具包中的fastboot命令刷入修补版boot启动镜像，二为刷入第三方recovery，通过第三方recovery安装Magisk，然此方法目前已被作者標記為棄用。

 KernelSU 

KernelSU是一个内核级的root方案。KernelSU仅会把su文件挂载到已授权的app的进程，su文件对未授权的app不可见，所以这种方案的隐藏效果较好。KernelSU支持Magisk模块。

KernelSU的GKI模式和LKM模式仅支持GKI2.0的内核，对于非GKI的内核，需要下载内核源代码、将KernelSU集成到源代码树中并自己编译内核，低于4.14版本的内核需要手动移植KernelSU。

 APatch 
APatch是一个基于内核的root方案，由KernelPatch驱动，APatch支持KPM（内核模块）和APM（系统模块，类似Magisk模块），它的UI和APM模块的源代码来源于KernelSU。

 其他方式 
MIUI开发版自带root。

争议
 手机厂商对root的态度 
由于root并非官方支持的行为，手机厂商对进行过root的手机的保修政策目前存在争议。亦有部分厂商明确称为root后的手机提供免费维护，但通常仅限于重装手机的系统，不包括数据保全、硬件保修等服务。

大多数手机厂商为避免用户root或使用第三方系统，加入了分区保护机制，未解锁bootloader的情况下无法进行root或刷机操作。

2017年9月，魅族宣布旗下各机型的Flyme系统将停用开放root功能，且以后不再开放。但在2018年7月，魅族时任CEO黄章下令Flyme彻底开放root授权。

2019年2月，vivo宣布iQOO将开放bootloader解锁权限和类原生ROM支持，然而时至今日这项承诺没有任何进展。iQOO系列手机依然是无法解锁bootloader，更妄谈root之类的高级权限。

以往的小米手机用户只需要刷入开发版MIUI即可获得root管理权限，然而新发布的小米手机已不再开放开发版下载入口。用户如需刷入开发版需在小米社区申请开发版内测。通过审核之后才能获得开发版下载链接。

 root后受到的限制 
為避免資安風險，以Google Pay与三星的Samsung Pay为首的内核级支付系统，不允許root過的手機執行，

出于反作弊考量，许多网络游戏检测到root后会拒绝启动。

参见
 刷机
 超级用户
 Android
CyanogenMod
TWRP
Magisk
客製化Android韌體列表

 参考资料 

Category:Android
Category:硬體限制