2024-06-26 22:16:25 +08:00

253 lines
13 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=5">
<meta name="robots" content="noodp"/>
<link rel="stylesheet" href="https://blog.dich.ink/style.css">
<link rel="stylesheet" href="https://blog.dich.ink/color/blue.css">
<link rel="stylesheet" href="https://blog.dich.ink/color/background_dark.css">
<link rel="stylesheet" href="https://blog.dich.ink/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.ink/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.ink">
<meta property="twitter:url" content="https://blog.dich.ink/awesome-android-root/">
</head>
<body class="">
<div class="container">
<header class="header">
<div class="header__inner">
<div class="header__logo">
<a href="https://blog.dich.ink" 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.ink">blog</a></li>
<li><a href="https://blog.dich.ink/tags">tags</a></li>
<li><a href="https://blog.dich.ink/archive">archive</a></li>
<li><a href="https://blog.dich.ink/about">about me</a></li>
<li><a href="https://blog.dich.ink/links">links</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.ink/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.ink/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>
<p>以权限系统为例,一般软件权限需要经过用户同意,即每次安装前出现的各种请求弹窗;而 ADB 权限常常用于开发者模式,可以调试一些比较深层的设置;至于 root 权限则为系统的最高权限,与 Windows 的 system 权限相当(比 administer 还高)。因此,当我们具备了 root 权限后,就可以实现许多功能,例如屏蔽广告,虚拟定位,安装 Google 框架和软件满血运行CPU等等。</p>
<h2 id="san-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 模式,厂商一般会将其锁定。</p>
<p>早些年间,存在大量一键 rootkingroot 之类的软件,可以直接刷写 root 包,获得 root 权限,但成功率不高;</p>
<p>因此,现在主流的刷机步骤为</p>
<ul>
<li>解开 bootloader俗称解BL锁.</li>
</ul>
<blockquote>
<p><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>
</blockquote>
<ul>
<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="si-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>
<blockquote>
<p>截至2024年5月小米手机解BL锁已经收紧,条件非常苛刻.</p>
</blockquote>
<h2 id="wu-ju-ti-cao-zuo-liu-cheng"><strong>五.具体操作流程</strong></h2>
<p>1.笔者以 Redmi k30pro 5G 这款手机为例,首先我们进入手机设置界面,进入“我的设备”,在“全部参数”中找到“ MIUI 版本”,连续点击后开启开发者模式,随后在“更多设置”中开启 USB 调试, USB安装 功能。</p>
<p>2.随后下载大名鼎鼎的搞机工具箱http://jamcz.com/ 由B站up主晨钟酱出品里面具有许多功能包括进入各个模式无极调速等等
然后我们进入小米官网https://www.miui.com/unlock/download.html 下载官方解锁工具需要登陆小米账号并等待7天随后即可解锁。
3.解锁完成后在https://mifirm.net/downloadtwrp/148 中下载对应的 TWRP 版本,注意 redmi 的海外名为 Poco 。
4.随后用数据线连接手机,用其中的一键刷写刷入 TWRP随后下载 rom 包,可以选择原版,官改版,海外版和类原生版。相关链接:</p>
<p><code>https://miuiver.com/</code></p>
<p><code>https://mi.fiime.cn/Android</code></p>
<p>这里选择 <code>https://c.mi.com/global/miuidownload/index</code></p>
<p>下载时注意一并下载 boot.img 文件,作为 Magisk 的修补用。然后下载 Magisk 包,与 rom 一起存入TF卡或者U盘中。</p>
<p>Magisk : <code>https://magisk.me/zip/</code></p>
<p><strong>注意由于本机型为新型AB分区</strong><code>https://www.jianshu.com/p/b2726b304801</code> 因此如果刷机失败需要下载原厂包用以恢复AB分区否则无法启动和安装rom。</p>
<p>5.通过搞机工具箱进入 recovery 模式首先我们在wipe中清除Data、Cache两个分区俗称“双清”随后在高级清除选项中清除 Data、Cache、Dalvik Cache 和 System 分区,俗称“四清”。
6.清除完成后即可开始刷机。将 TF 卡或者U盘插入手机在“安装”中选择 rom 包,右滑确认刷机;随后如法炮制,刷入 magisk.zip 包,不然会卡在开机 logo 界面,俗称“卡米”。
7.刷完之后重启,则会进入安装界面。注意:如果刷的是海外版的包,千万不能联网安装,否则会失败且变为国内版。</p>
<p>随后可以看到桌面环境</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>
<h2 id="liu-roothou-de-mo-kuai-an-zhuang"><strong>六.Root后的模块安装</strong></h2>
<p>隐藏root的 shamiko 和 lsposed 框架,以及yc调度李跳跳等等。</p>
<h2 id="hou-ji"><strong>后记</strong></h2>
<p>关于 root 的其他用途还有很多,这里就不一一列举,分享一些常用模块:</p>
<p><code>https://sspai.com/post/68531</code></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.ink/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.ink/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>©
2024
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>
<script async defer src="http://173.249.208.93:12345/tracker.js" data-website-id="cluckwxwg0005qf4n55m737sz"></script>
</div>
</body>
</html>