2025-01-24 15:14:06 +08:00

293 lines
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<title>Dich&#x27;blog</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<meta name="robots" content="noodp"/>
<link rel="stylesheet" href="https://blog.dich.bid/style.css">
<link rel="stylesheet" href="https://blog.dich.bid/color/blue.css">
<link rel="stylesheet" href="https://blog.dich.bid/color/background_dark.css">
<link rel="stylesheet" href="https://blog.dich.bid/font-hack-subset.css">
<meta name="description" content="">
<meta property="og:description" content="">
<meta property="og:title" content="Dich'blog">
<meta property="og:type" content="article">
<meta property="og:url" content="https://blog.dich.bid/awesome-android-root/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:description" content="">
<meta name="twitter:title" content="Dich'blog">
<meta property="twitter:domain" content="blog.dich.bid">
<meta property="twitter:url" content="https://blog.dich.bid/awesome-android-root/">
<link rel="alternate" type="application/atom+xml" title="Dich&#x27;blog Atom Feed" href="https://blog.dich.bid/atom.xml" />
<link rel="icon" type="image/png" href=&#x2F;dich.webp />
</head>
<body class="">
<div class="container">
<header class="header">
<div class="header__inner">
<div class="header__logo">
<a href="https://blog.dich.bid" style="text-decoration: none;">
<div class="logo">
Dich&#x27;blog
</div>
</a>
</div>
</div>
<nav class="menu">
<ul class="menu__inner">
<li class="active"><a href="https://blog.dich.bid">blog</a></li>
<li><a href="https://blog.dich.bid/tags">tags</a></li>
<li><a href="https://blog.dich.bid/archive">archive</a></li>
<li><a href="https://blog.dich.bid/about">about me</a></li>
<li><a href="https://blog.dich.bid/links">links</a></li>
<li><a href="https://blog.dich.bid/search">search</a></li>
<li><a href="https://blog.dich.bid/weekly">weekly</a></li>
<li><a href="https://github.com/Dichgrem" target="_blank" rel="noopener noreferrer">github</a></li>
</ul>
</nav>
</header>
<div class="content">
<div class="post">
<h1 class="post-title"><a href="https://blog.dich.bid/awesome-android-root/">综合工程:安卓刷机与root教程</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2023-08-13
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.bid/tags/zong-he-gong-cheng/">#综合工程</a></span>
<div class="post-content">
<p>前言 自安卓系统诞生以来root 一直是玩机的必备过程。时至今日,在安卓定制系统日益完善的情况下,能 root 的机型越来越少,本文以小米手机为例,介绍 root 的具体方法。</p>
<span id="continue-reading"></span><h2 id="yi-shen-me-shi-root"><strong>一.什么是root</strong></h2>
<p>这涉及安卓的权限系统。Andoird 系统是基于 Linux 内核的其中的权限大致可以分为四级即一般软件权限用户权限ADB 权限和超级管理员权限su。而所谓 Root 也就是使手机获得超级管理员的权限但是出于种种原因厂商默认不提供超级管理员的权限因此root的本质就是一个提权的过程。</p>
<h2 id="er-wei-shen-me-yao-root"><strong>二.为什么要root</strong></h2>
<ul>
<li>国内定制的安卓系统充满着云控,反诈以及各种广告,预装软件,这种系统实在为极客们所不容;</li>
<li>以权限系统为例,一般软件权限需要经过用户同意,即每次安装前出现的各种请求弹窗;而 ADB 权限常常用于开发者模式,可以调试一些比较深层的设置;至于 root 权限则为系统的最高权限,与 Windows 的 system 权限相当(比 administer 还高)。因此,当我们具备了 root 权限后,就可以实现许多功能,例如屏蔽广告,虚拟定位,安装 Google 框架和软件满血运行CPU等等。</li>
</ul>
<h2 id="san-na-xie-ji-xing-ke-yi-root"><strong>三.哪些机型可以root</strong></h2>
<p>在 2023 年的今天,能 root 的机型还是比较少。首先是最容易的一加和小米,可以申请官方解 BL 锁需要等待7天其次是联想索尼等海外品牌也比较容易而 oppo 和 vivo 及其子品牌 iqoo 和 realme 有些是不行的苹果的越狱在10代前是可以的而华为全部机型都是不可以的除非上万能的淘宝收费解锁直接烧录芯片至于三星BL 锁一旦解开就会触发芯片物理熔断机制,无法使用 pay 以及升级系统体验极差。因此刷机有风险root 需谨慎!刷机前要了解相应的厂商,考虑保修和变砖的问题!</p>
<p><a href="https://github.com/KHwang9883/MobileModels/blob/master/misc/bootloader-kernel-source.md">各品牌手机root情况汇总</a></p>
<blockquote>
<p>截至2024年5月小米手机解BL锁已经收紧,条件非常苛刻.</p>
</blockquote>
<h2 id="si-ru-he-root"><strong>四.如何root</strong></h2>
<p>首先我们要了解安卓系统的分区和启动。安卓的分区包括:</p>
<ul>
<li>
<p>recovery 分区类似PC端的PE环境手机上的恢复出厂设置即为从 recovery 恢复;</p>
</li>
<li>
<p>cache 分区,保存系统最常访问的数据和应用程序。 擦除这个分区,不会影响个人数据,只是删除了这个分区中已经保存的缓存内容;</p>
</li>
<li>
<p>boot 分区类似PC端的MBR分区用来引导系统启动擦除后手机会卡在开机 logo 的界面;</p>
</li>
<li>
<p>system 分区包括操作系统与软件vendor 定制文件与库文件等等,擦除后会卡在开机的动画界面;</p>
</li>
<li>
<p>data 分区,存放用户数据和系统设置,擦除后不影响系统的运行。</p>
</li>
</ul>
<p>手机启动阶段存在名为 bootloader 的程序,与 PC 端的 BIOS 类似,被称为 fastboot 模式,厂商一般会将其锁定。早些年间,存在大量一键 rootkingroot 之类的软件,可以直接刷写 root 包,获得 root 权限,但成功率不高;</p>
<p>因此,现在<strong>主流的刷机步骤</strong></p>
<ul>
<li>
<p>解开 bootloader俗称解BL锁. <a href="https://telegra.ph/BL%E9%94%81%E7%9A%84%E5%8E%9F%E7%90%86%E6%98%AF%E4%BB%80%E4%B9%88-05-29">BL锁原理参考</a></p>
</li>
<li>
<p>打开机器上的允许USB调试;</p>
</li>
<li>
<p>备份手机数据,即备份Data分区(可使用Neobackup或系统自带),字库/基带/官方固件,桌面样式截图;</p>
</li>
<li>
<p>下载该机器的官方原厂包以及要刷的第三方系统包;</p>
</li>
<li>
<p>提取以上两个包中的 boot.img 和 recovery.img 文件备份;</p>
</li>
<li>
<p>将机器与PC等设备连接,并进入 bootloader;</p>
</li>
<li>
<p>刷入第三方 recovery比如大名鼎鼎的 TWRP,或者对应新系统的recovery.img</p>
</li>
<li>
<p>进入 recovery 模式,清空原系统数据;然后刷入原系统作为底包,避免出现固件问题;</p>
</li>
<li>
<p>刷入新系统Zip包,随后重启,再次进入 recovery .</p>
</li>
<li>
<p>刷入 Magisk (面具)工具,随后重启进入桌面,安装 Magisk(apk),通过修补 boot.img 文件获得 root 权限;</p>
</li>
<li>
<p>安装 Magisk 模块和 Lsposed 框架(可在其中下载许多模块,推荐一键救砖,系统优化和 root 隐藏)</p>
</li>
<li>
<p>安装 Momo 软件检测系统环境是否正常。</p>
</li>
</ul>
<blockquote>
<p>如果旧系统上没有root权限无法直接备份Data分区,可以先用系统自带的备份,并下载好原版系统镜像以防止刷机失败.</p>
</blockquote>
<h2 id="wu-que-ding-ni-yao-shua-de-xi-tong"><strong>五.确定你要刷的系统</strong></h2>
<p>可以选择官方原版,官改版,海外版和类原生版。相关链接:</p>
<p><a href="https://miuiver.com/">小米各机型 MIUI 历史版本分类索引</a></p>
<p><a href="https://mi.fiime.cn/Android">Android原生项目大全</a></p>
<h2 id="liu-ju-ti-cao-zuo-liu-cheng"><strong>六.具体操作流程</strong></h2>
<p>1.笔者以 Redmi k30pro 5G 这款手机为例,首先我们进入手机设置界面,进入“我的设备”,在“全部参数”中找到“ MIUI 版本”,连续点击后开启开发者模式,随后在“更多设置”中开启 USB 调试, USB安装 功能。</p>
<p>2.随后下载大名鼎鼎的<a href="http://jamcz.com/">搞机工具箱</a> 由B站up主晨钟酱出品里面具有许多功能包括进入各个模式无极调速等等
然后我们进入<a href="https://www.miui.com/unlock/download.html">小米官网</a> 下载官方解锁工具需要登陆小米账号并等待7天随后即可解锁。</p>
<p>3.解锁完成后在<a href="https://mifirm.net/downloadtwrp/148">MiFirm网</a> 中下载对应的 TWRP 版本,注意 redmi 的海外名为 Poco 。</p>
<p>4.随后用数据线连接手机,用其中的一键刷写刷入 TWRP随后下载你要刷的系统的 rom 包,下载时注意一并下载 boot.img 文件,作为 Magisk 的修补用。然后下载 <a href="https://magisk.me/zip/">Magisk</a> 包,与 rom 一起存入TF卡或者U盘中。</p>
<blockquote>
<p>注意,由于本机型为新型<a href="https://www.jianshu.com/p/b2726b304801"><strong>AB分区</strong></a>因此如果刷机失败需要下载原厂包用以恢复AB分区否则无法启动和安装rom。</p>
</blockquote>
<p>5.通过搞机工具箱进入 recovery 模式首先我们在wipe中清除Data、Cache两个分区俗称“双清”随后在高级清除选项中清除 Data、Cache、Dalvik Cache 和 System 分区,俗称“四清”。</p>
<p>6.清除完成后即可开始刷机。将 TF 卡或者U盘插入手机在“安装”中选择 rom 包,右滑确认刷机;随后如法炮制,刷入 magisk.zip 包,不然会卡在开机 logo 界面,俗称“卡米”。</p>
<p>7.刷完之后重启,则会进入安装界面。<strong>注意:如果刷的是海外版的包,千万不能联网安装,否则会失败且变为国内版。</strong></p>
<p>8.此刻我们将下载好的 boot.img 文件复制到手机上,打开 Magisk 软件,在其中选择修补一个文件,选中 boot.img修复完成后可以看到超级用户一栏可以使用了说明 root 完成。</p>
<blockquote>
<p>截至2024年5月1日,该机已经刷入 crdroid 10.4 类原生系统,非常丝滑,步骤同上,但需要刷入<a href="https://xiaomifirmwareupdater.com/firmware/lmi/stable/V14.0.1.0.SJKMIXM/">新固件</a>.</p>
</blockquote>
<blockquote>
<p>注:这里使用的 root 方案为<a href="https://github.com/topjohnwu/Magisk">magisk</a>,你也可以使用<a href="https://kernelsu.org/zh_CN/">kernelSU</a>或者<a href="https://jesse205.github.io/MagiskChineseDocument/delta/main.html">Kitsune Mask</a>以及<a href="https://apatch.dev/zh_CN/">apatch</a>等。</p>
</blockquote>
<blockquote>
<p>adb和fastboot命令示例</p>
</blockquote>
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>adb命令
</span><span>adb devices :列出adb设备
</span><span>adb reboot :重启设备
</span><span>adb reboot bootloader :重启到fastboot模式
</span><span>adb reboot recovery :重启到recovery模式
</span><span>adb reboot edl :重启到edl模式
</span><span>adb sideload &lt;要刷写的文件路径&gt; 刷写模块如Magisk
</span><span>
</span><span>fastboot命令
</span><span>fastboot devices :列出fastboot设备
</span><span>fastboot reboot :重启设备
</span><span>fastboot reboot-bootloader :重启到fastboot模式
</span><span>fastboot flash &lt;分区名称&gt; &lt;镜像文件名&gt; :刷写分区
</span><span>fastboot oem reboot-^&lt;模式名称^&gt; :重启到相应模式
</span><span>fastboot oem device-info :查看解锁状态
</span></code></pre>
<h2 id="liu-roothou-de-mo-kuai-an-zhuang"><strong>六.Root后的模块安装</strong></h2>
<p>在 Magisk 中安装 Zygisk-Lsposed 框架,即可使用 Lsposed在 Lsposed 中可以安装 Amarok QAuxiliary 模块,并配合 Shizuku MMRL 等软件等等。</p>
<blockquote>
<p>免 Root 的平替方法,目前这一套流程也很成熟了:</p>
</blockquote>
<ul>
<li>利用 ADB 权限的 Shizuku</li>
<li>利用 Device Owner 权限的 Dhizuku</li>
<li>利用 VPN 的流量过滤</li>
<li>利用运行库修补加载 Xposed 模块的 LSPatch</li>
</ul>
<h2 id="hou-ji"><strong>后记</strong></h2>
<p>关于 root 的其他用途还有很多,这里就不一一列举,分享一些常用模块:</p>
<p><a href="https://modules.lsposed.org/">lsposed模块大全</a></p>
<p><a href="https://sspai.com/post/68531">刷了 Magisk 之后装什么?我推荐这 20+ 个模块</a></p>
<h2 id="can-kao"><strong>参考</strong></h2>
<ul>
<li><a href="https://download.lineageos.org/devices/lmi/builds">lineageos镜像</a></li>
<li><a href="https://wiki.lineageos.org/devices/lmi/install/variant1/">lineageos教程</a></li>
<li><a href="https://wiki.lineageos.org/devices/lmi/variant2/">机型介绍</a></li>
<li><a href="https://xdaforums.com/t/no-sound-issue-can-u-help.4479225/">XDA-没有声音的问题解决</a></li>
<li><a href="https://xdaforums.com/t/kernel-overclocked-no-gravity-2023-08-28-protonclang.4531497/">XDA-更换内核</a></li>
</ul>
</div>
<div class="pagination">
<div class="pagination__title">
<span class="pagination__title-h">Thanks for reading! Read other posts?</span>
<hr />
</div>
<div class="pagination__buttons">
<span class="button previous">
<a href="https://blog.dich.bid/awesome-openwrt/">
<span class="button__icon"></span>&nbsp;
<span class="button__text">综合工程:OpenWrt路由部署与软件编译</span>
</a>
</span>
<span class="button next">
<a href="https://blog.dich.bid/awesome-android-tv/">
<span class="button__text">综合工程:Android TV 折腾小记</span>&nbsp;
<span class="button__icon"></span>
</a>
</span>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="footer__inner">
<div class="copyright">
<span>©
2025
Dichgrem</span>
<span class="copyright-theme">
<span class="copyright-theme-sep">:: </span>
Theme: <a href="https://github.com/pawroman/zola-theme-terminimal/">Terminimal</a> by pawroman
</span>
</div>
</div>
</footer>
</div>
</body>
</html>