<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet type="text/xsl" href="/atom.xsl"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-cn"><id>https://maxlen727.github.io/tags/%E5%88%B7%E6%9C%BA/</id><title>刷机 on 暮歌</title><updated>2026-10-19T05:35:03Z</updated><language>zh-cn</language><subtitle>自留地，不是技术 blog, 仅仅用作我生活的记录</subtitle><background>/background_hu_d92feabfcd60f52c.webp</background><accent>139, 92, 246</accent><accentLight>167, 139, 250</accentLight><debounce>70</debounce><author><name>微恙</name><email>maxlen@duck.com</email><uri>https://maxlen727.github.io/</uri></author><link href="https://maxlen727.github.io/tags/%E5%88%B7%E6%9C%BA/atom.xml" rel="self" type="application/atom+xml"/><link href="https://maxlen727.github.io/tags/%E5%88%B7%E6%9C%BA/" rel="alternate" type="text/html"/><generator uri="https://gohugo.io" version="0.148.2">Hugo</generator><rights>© 2021 - 2026 MaxLen All Rights Reserved.</rights><entry><id>https://maxlen727.github.io/posts/internet-wall-aosp/</id><title>类原生联网管控，我是这样做的</title><published>2023-07-31T10:35:25+08:00</published><updated>2024-02-12T10:35:25+08:00</updated><author><name>微恙</name></author><link href="https://maxlen727.github.io/posts/internet-wall-aosp/" rel="alternate" type="text/html"/><summary>联网管控是国内深度定制 UI 中非常好用的一个功能，想必各位类原生用户也十分眼馋，束束最近发现了一个开源项目，可以给类原生联网管控的能力</summary><content type="html" xml:base="https://maxlen727.github.io/posts/internet-wall-aosp/"><![CDATA[
<h2 class="relative group">前言 
    <div id="前言" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
        <a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%89%8d%e8%a8%80" aria-label="锚点">#</a>
    </span>        
    
</h2>
<blockquote>
<p>💡 本文提到的操作均需 Root 权限或需 Magisk 模块</p></blockquote>
<hr>

<h2 class="relative group">最朴素的办法：手动改 hosts 
    <div id="最朴素的办法手动改-hosts" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
        <a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%9c%80%e6%9c%b4%e7%b4%a0%e7%9a%84%e5%8a%9e%e6%b3%95%e6%89%8b%e5%8a%a8%e6%94%b9-hosts" aria-label="锚点">#</a>
    </span>        
    
</h2>
<p>hosts 文件不必多说，系统在访问网址时会优先到 hosts 文件中查找对应IP地址。依据这个，我们可以通过修改 hosts文件来封锁对应网站。</p>
<p>安卓的 hosts 文件位置和 Linux 中一致，就在 <code>/etc/hosts</code></p>
<p>






<figure>
    <img class="my-0 rounded-md" loading="lazy" alt="image" src="https://github.com/maxlen727/picx-images-hosting/raw/master/20240212/image.1xj5zqp3jd9.png">

  
</figure>
</p>
<p>ip+网址就是这个文件简单的编写方法。所以如果我们要控制应用联网，只需要阻断应用要访问的网址就好了。</p>
<p>但要想知道应用到底访问了什么网址，这可能还需要点功夫，可以使用 <strong>HttpCanary 对指定应用</strong>进行抓包。</p>
<p>当然这种方法既麻烦又不够优雅，束束写这篇文章也并不是为了介绍这个，毕竟它几乎人尽皆知。</p>
<hr>

<h2 class="relative group">AFWall + ：给类原生控制应用联网的能力 
    <div id="afwall--给类原生控制应用联网的能力" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
        <a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#afwall--%e7%bb%99%e7%b1%bb%e5%8e%9f%e7%94%9f%e6%8e%a7%e5%88%b6%e5%ba%94%e7%94%a8%e8%81%94%e7%bd%91%e7%9a%84%e8%83%bd%e5%8a%9b" aria-label="锚点">#</a>
    </span>        
    
</h2>
<p>这是个开源项目，地址在这里 <a
  href="https://github.com/ukanth/afwall"
    target="_blank"
  >https://github.com/ukanth/afwall</a> .界面大概就这个样子</p>
<p>






<figure>
    <img class="my-0 rounded-md" loading="lazy" alt="image" src="https://github.com/maxlen727/picx-images-hosting/raw/master/20240212/image.53fb3ldnfa80.png">

  
</figure>
</p>
<p>熟悉感扑面而来，MIUI上的联网管理差不多也长这个样子，所以使用也是很简单的了。</p>
<p>首先要切换一下模式，改为「阻挡所选」就好了。</p>
<p>






<figure>
    <img class="my-0 rounded-md" loading="lazy" alt="image" src="https://github.com/maxlen727/picx-images-hosting/raw/master/20240212/image.548y20afjc40.webp">

  
</figure>
</p>
<p>然后勾上要阻挡的APP,再「打开防火墙」就好了</p>
<p>






<figure>
    <img class="my-0 rounded-md" loading="lazy" alt="image" src="https://github.com/maxlen727/picx-images-hosting/raw/master/20240212/image.4k86tkivjes0.png">

  
</figure>
</p>
<p>这个软件不需要后台运行，设置完毕后直接从后台划掉就好了。但是束束发现一个小问题：它可能会造成莫名的耗电，如果续航显著下降，那大概就是这个软件的锅。</p>
]]></content><category term="刷机"/><category term="安卓"/><category term="类原生"/><category term="联网管控"/><category term="AFWall"/></entry><entry><id>https://maxlen727.github.io/posts/flash-rom-android-fliessys/</id><title>一次刷机经历，让我开始了解安卓文件系统</title><published>2023-07-07T10:35:25+08:00</published><updated>2024-02-12T10:35:25+08:00</updated><author><name>微恙</name></author><link href="https://maxlen727.github.io/posts/flash-rom-android-fliessys/" rel="alternate" type="text/html"/><summary>由一次意外而产生的新认知…</summary><content type="html" xml:base="https://maxlen727.github.io/posts/flash-rom-android-fliessys/"><![CDATA[<p>（抬头）束束刚刚泡了一杯茶，先请你尝尝吧！</p>
<hr>

<h2 class="relative group">What happened ? 
    <div id="what-happened-" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
        <a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-happened-" aria-label="锚点">#</a>
    </span>        
    
</h2>
<p>发现家里有一台野生 Redmi 7, 但是 MIUI 在这台机器上实在太卡，于是束束决定给它刷一个类原生。</p>
<p>逛了逛酷安，看这个机型里有人说 cherishOS 不错，所以束束先选择的是 cherish 的 A11.</p>
<p>本以为是一次平平无奇的刷机，按照常规操作解 BL，进 fastboot，刷 Rec（用的 OrangeFox），adbsideload 侧载 rom，开机</p>
<p>？</p>
<p>开不开机！一直卡在开机界面上</p>
<p>无奈，束束认为是 Rom 的问题，于是换 dotos 的 A11，再刷</p>
<p>这次的 dotos 就还可以了，虽然也不能开机，但是可以显示一个报错的界面，全英文，具体是什么我也忘了，大概就是说需要格式化此设备才行，下面直接一个按钮 Reboot to Recovery.</p>
<p>那行，那束束就乖乖 Reboot to Recovery 去格式化呗。然而格式化 data 分区后…不行。</p>
<p>此时我以为是 rec 问题，于是又换了 TWRP，同时去下了 los 的每夜版（因为这个设备根本没有正式版啊喂！）再试一次。</p>
<p>噔噔，结果还是和刷 dotos 时一样的。看着这台没刷好的手机，束束有些着急了。</p>

<h2 class="relative group">怎么解决的？ 
    <div id="怎么解决的" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
        <a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%80%8e%e4%b9%88%e8%a7%a3%e5%86%b3%e7%9a%84" aria-label="锚点">#</a>
    </span>        
    
</h2>
<p>束束去网上搜来搜去好像没人说到这个问题，后来不知道看了哪篇文章还是 xda 某个帖子提到了文件系统的事，索性去 TWRP 里碰碰运气，把 data 分区的文件系统从 f2fs 改为 ext4，开机，欸，竟然可以了。</p>
<p><a
  href="https://blog.ichr.me/post/f2fs-rom-issue/"
    target="_blank"
  >F2FS ROM 引发的悲剧及其解决方案</a></p>
<p>诺，这篇 blog 中提到了，但和束束遇到的情况并不完全一样。</p>

<h2 class="relative group">对安卓文件系统的新了解 
    <div id="对安卓文件系统的新了解" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
        <a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%af%b9%e5%ae%89%e5%8d%93%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e7%9a%84%e6%96%b0%e4%ba%86%e8%a7%a3" aria-label="锚点">#</a>
    </span>        
    
</h2>
<p>上面文章里的博主提到了</p>
<blockquote>
<p>这次「灾难」的导火索是严格要求 F2FS 文件系统的 Android 类原生 ROM——<a
  href="https://www.droidontime.com/"
    target="_blank"
  >Dot OS (Droid on Time)</a>，而其它 ROM 譬如 Lineage OS、Pixel Experience 等均只要求 ext4 文件系统。</p></blockquote>
<p>dotos 真的只认 f2fs 吗？其实不然。安卓系统对于文件系统的支持要看内核是否支持。</p>
<p>比如说束束刷的这台 Redmi 7: 束束刷的这几个包内核都不支持 f2fs，而这里 TWRP 等 rec 刷入进去默认文件系统就是原先的 f2fs，就导致了开机报错或 cherish 那种严重的无法开机的情况。</p>
<p>再说这个 f2fs 不是很广泛了？为什么竟然不被部分内核支持。这里引用一段</p>
<blockquote>
<p>F2FS（Flash-Friendly File System）是一种闪存文件系统，最初就是为了 NAND 闪存存储设备设计的。相比之下，ext4 最初设计是考虑到运行在机械硬盘（磁盘）等区块存储设备上的，而由于其读写性能远不如 SSD 固态硬盘等闪存存储设备，所以现在很多场景都使用固态硬盘。Linux 随后也推出了 MTD 这一硬件抽象层，它能让闪存设备看起来像是一种区块设备，从而使针对区块设备的文件系统直接应用在闪存上。</p></blockquote>
<blockquote>
<p>ext4 即为<strong>第四代扩展文件系统</strong>（Fourth extended filesystem，ext4），2006 年被首次公开、2008 年被当成稳定版本并入 Linux 源代码并成为官方建议的默认文件系统。而 Android 正是基于 Linux 开发，早在 Android 2.3 就已用 ext4 取代 YAFFS，市面上绝大多数 Android ROM 也确实使用的是 ext4 文件系统。</p></blockquote>
<p>早在安卓 2.3 时 ext4 就已经被安卓官方支持，但是这段文字里没有提到 f2fs 的支持情况，具体又是怎样的呢？</p>
<p>在谷歌所维护的 AOSP 中，F2FS 并不是官方支持的文件系统，但是仍然有一些设备树可以选择支持 f2fs. 少数派的这篇文章中有提到：</p>
<p><a
  href="https://sspai.com/post/53136"
    target="_blank"
  >给你的 Android 手机换个文件系统 - 少数派</a></p>
<p>而 AOSP 默认所支持的文件系统是 ext4.</p>
<p>这也道出了另一个事实：不是被 Linux 主线内核支持的文件系统就会被安卓支持。</p>
<p>






<figure>
    <img class="my-0 rounded-md" loading="lazy" alt="image" src="https://github.com/maxlen727/picx-images-hosting/raw/master/image.64b3fo5r38c0.webp">

  
</figure>
</p>

<h2 class="relative group">Ending 
    <div id="ending" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
        <a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#ending" aria-label="锚点">#</a>
    </span>        
    
</h2>
<p>这次刷机“翻车”让束束学到了一些关于安卓文件系统的知识。还是不得不感叹：安卓的系统机制真是神奇且有趣啊？到底还有什么更多的东西等着咱去发掘呢？</p>
<hr>

<h2 class="relative group">参考资料 
    <div id="参考资料" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
        <a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%8f%82%e8%80%83%e8%b5%84%e6%96%99" aria-label="锚点">#</a>
    </span>        
    
</h2>
<p><a
  href="https://sspai.com/post/53136"
    target="_blank"
  >给你的 Android 手机换个文件系统 - 少数派</a></p>
<p><a
  href="https://blog.ichr.me/post/f2fs-rom-issue/"
    target="_blank"
  >F2FS ROM 引发的悲剧及其解决方案</a></p>
<p><a
  href="https://zh.wikipedia.org/wiki/Ext4"
    target="_blank"
  >ext4</a></p>
<p><a
  href="https://source.android.com/docs/core/architecture/android-kernel-file-system-support?hl=zh-cn"
    target="_blank"
  >Android 内核文件系统支持  |  Android 开源项目  |  Android Open Source Project</a></p>
<p><a
  href="https://forum.xda-developers.com/t/official-recovery-onclite-orangefox-recovery-project-r11-0_0-stable.4079941/post-82593949"
    target="_blank"
  >[OFFICIAL][RECOVERY][ONCLITE] OrangeFox Recovery Project&hellip;</a></p>
]]></content><category term="刷机"/><category term="安卓"/><category term="文件系统"/></entry><entry><id>https://maxlen727.github.io/posts/mokee-1/</id><title>魔趣遗老的碎碎念（一）</title><published>2023-06-07T10:35:25+08:00</published><updated>2024-02-12T10:35:25+08:00</updated><author><name>微恙</name></author><link href="https://maxlen727.github.io/posts/mokee-1/" rel="alternate" type="text/html"/><summary>今天看了一下博客的关于页，突然看见一个“魔趣粉”的tag，顿时让我想起了曾经的刷机快乐岁月，再看今日魔趣退去，感慨万分。</summary><content type="html" xml:base="https://maxlen727.github.io/posts/mokee-1/"><![CDATA[<p>诸位拾星者们好，这里是晚上在被窝里胡思乱想的束束。</p>
<p>刚刚翻手机看到魔趣项目终止维护，不由回忆起了以前折腾魔趣的时光，感慨而发







<figure>
    <img class="my-0 rounded-md" loading="lazy" alt="https://www.mokeedev.com/images/logo.png" src="https://www.mokeedev.com/images/logo.png">

  
</figure>

束束小时候有手机比较早，在五六岁的时候就获得了一台三星 Galaxy. 那会束束还并不清楚有“手机游戏”这样神奇的玩意，束束玩手机的最大乐趣就是尝试不同的软件（尤其是不同的桌面）。这可能就是我最早“折腾”的开始，让束束对这些发光小玻璃产生了极大的兴趣，以至于此后的生活里动不动就想要挠挠它们。</p>
<p>后来又从父母那里继承了红米 Note. 这台机器对我意义重大，这也是一台刷机小王子，让束束尝试了很多很多不同的 Rom, 切身感受了刷机文化最风行的时代并参与其中。</p>
<p>束束接触刷机是什么时候呢？记忆早已模糊，具体的时岁已经不可考了。大概是八岁或者九岁的时候吧。当时刷机什么也不懂，但好奇心当然不会害死束束这样的聪明猫，好奇是驱动束束开始折腾手机的第一动力。咱某天看见网上有个叫“龙二哥手机续航”的创作者的视频：<a
  href="https://www.bilibili.com/video/BV1ox411Y79k"
    target="_blank"
  >小米note3双系统</a>。那个视频里面提到了魔趣。了解之后发现这是一个类原生的民间维护的且有良好中国本地化的系统。束束又去补了补课，了解到类原生、开源、刷机等词。之后便希望刷机试试看。</p>
<p>所以束束第一个接触到的 Rom 就是魔趣。应该是在早上 5 点多的时候刷进去的，激动的心情难以言表了，一直到去学校了还惦记着家里的那台魔趣。</p>
<p>至于刷入的过程嘛——（脸红）诸位拾星者们请继续看下去吧，束束现在回忆起来有些头晕了：</p>
<p>我是记得小米的系统升级 APP 里有个从本地安装 zip 的功能，也查了网上的教程，看见刷机都要用电脑。而束束想的是：不用啊，网上的方法那么复杂，反正都是要刷入这个 zip 吧，我直接用系统升级的本地安装不就好了？</p>
<p>(๑&gt;؂&lt;๑) 欸嘿，很天真的想法对吧！</p>
<p>并且那时候小米的系统更新 APP 要本地安装 zip 是没有任何校验的——她不管你刷的是不是MIUI。所以依猫脑的简单思维来说，那咱用这个功能刷魔趣也是没问题的吧！！所以直接去魔趣官网下包开刷。</p>
<p>束束刷的是魔趣 MK60 稳定版，那是安卓6刚出来的一段时间，而那时的笨蛋 MIUI 通常不会为维护中的机器提供夸安卓版本的更新，所以那台红米 Note 的 MIUI 迟迟停在安卓4.4，也没有当时束束觉得很酷的分屏功能。但是魔趣直接可以让我升级到安卓 6, 并带来分屏的特性。这让束束欣喜若狂。另外束束还发现开发者模式里自带了 root 权限！也恰逢跳一跳刚刚出来，这个恶趣味坏猫竟然就用 root 到游戏蜂窝里找微信跳一跳外挂刷成绩（笑）。</p>
<p>好奇心是没有害死束束啦，但是却带来了一些额外的麻烦：</p>
<p>因为束束是直接用 MIUI 系统更新的本地 zip 升级安装，导致这手机里竟然还带有 MIUI 的部分残留，比如说时钟还是 MIUI 的 icon, 并且无法打开之类。并且原来的 APP 与数据也都保留了下来，可能因为安卓 4.4 到安卓 6.0 发生了比较大的 runtime 方面的变化，导致很多更新带过来的软件是无法打开的。束束发现的解决办法是覆盖安装一下，但现在想来那种刷机操作下能开机简直就算是奇迹了 hhhh</p>
<p>后来用了不到一星期又想换回 MIUI（看来束束小时候就有点 distro hoping 的迹象了），但不知道怎么刷回去了，头脑简单的猫便去网上找刷机大师什么的，结果发现某些软件一安装就会导致系统无限重启（想来估计是当时没三清留下的祸根）。但这可吓坏了当时的束束——不懂的我以为是魔趣不许我回到 MIUI, 所以直接不给开机了，束束到了 rec 里清了用户数据才能再次开机，这样的话就只好先继续把 MK 用下去了。</p>
<p>（话说那会还不知道酷安，玩机真的纯靠自己瞎琢磨）</p>
<p>后面在这台机上用 MK60 绝对不顺，不过宙斯盾还是给束束留下了深刻印象，还有比 MIUI 强的续航，比 MIUI 好的性能调度。也就让我后面产生了与 MK71, MK90 的缘分。不过这都是后话了，以后咱再说&hellip;</p>
]]></content><category term="魔趣"/><category term="小记"/><category term="刷机"/></entry></feed>