干掉手机广告
根据小米集团 2024 年度报告,其2024年度智能手机业务毛利为
242.538
亿元、互联网服务业务毛利为261.468
亿元,而互联网服务中手机广告收入占比约为 72.4%。截至2024年1月,中国有10.92亿网民位居世界第一,印度有7.81亿 网民位居世界第二,第三是美国3.12亿,中国可谓是遥遥领先,每个人看几块钱的广告就能带来几十亿的纯收入,这正是国产手机广告泛滥的原因。
不光是小米,国内其他手机厂商和软件厂商也差不多,就拿OPPO来说,有次回家家里老人说手机卡,拿给我看,映入眼帘的是整整安装了三页乱七八糟的APP,通知栏广告更是一堆,点一下手机要十几秒才能反应过来。
免 ROOT 去广告:
手动关闭各个软件的广告(前提能关)
:某些软件的部分广告可以手动关闭,很费劲而且大多不能完全关闭。将软件商店禁网(前提要有禁网功能)
:很多APP广告都会跳转到手机应用商店自动安装软件,这就是老人机三页垃圾APP的元凶。使用 gkd 跳过广告
:gkd 是和李跳跳类似的软件,主要用于去除开屏广告,但治标不治本,需要常驻后台,不稳定还增加耗电。安装无广告版的软件
:比如某些手机厂商定制版、谷歌Play版、去广告版。
ROOT 去广告:
免 ROOT 只能去除部分广告,ROOT 之后能去掉90%的广告,但显然厂商不会放弃这巨大的蛋糕,各大手机厂商都在限制 ROOT,矮子里拔高个,我选择了一加,至少目前能随便解锁 bootloader,ROOT 还是比较简单的。
以下教程基于一加Ace5_ColorOS_15系统。
解锁 bootloader
Bootloader 是系统启动管理程序,相当于电脑的BIOS,解锁了才能 ROOT。注意解锁会清除数据!指纹tee会被置为损坏状态,会导致微信指纹支付无法使用。
- 启用开发者选项(狂点版本号开启)
- 在开发者选项中启用
USB 调试
和OEM 解锁
- 电脑装好驱动和ADB工具,将手机连接到电脑
- 进入
fastboot 模式
(解锁后可在关机状态长按电源键+音量下键进入)
1 | adb reboot bootloader |
- 解锁 bootloader
1 | fastboot flashing unlock |
- 重启
1 | fastboot reboot |
回锁(修复指纹tee,放弃 ROOT,清空数据),注意回锁前必须刷两遍官方固件!否则手机检测到系统分区被修改会锁死手机无法启动!只能售后9008刷机!离售后远是非常麻烦的!
1 | fastboot flashing lock |
需要注意的是,一加从CorlorOS-14的某个版本之后 9008 线刷模式就需要授权码才能使用,一旦fastboot损坏就只能走售后9008刷机,ocdt分区负责授权验证,如果ocdt分区也损坏只能换主板。
ROOT
什么是ROOT?
ROOT 是指在 Android(或 Linux/Unix)系统中获取 系统最高管理权限 的行为或状态。源自 Unix 系统中的root 用户
(UID=0),该用户拥有系统的全部操作权限,普通用户可以通过su
命令临时切换到 root 用户。
有哪些ROOT方式?:
传统ROOT(通过su
二进制实现用户空间的ROOT,本质是还原su
)
一键 Root 工具
(2010 年前后):利用安卓漏洞 root,如 KingoRoot、360root。SuperSU
(2011–2016):通过 Recovery 在 system 分区写入su
程序获取ROOT。- Magisk(2016–至今):通过修补
boot.img
ramdisk 里的 init 进程将su
程序和模块注入系统,实现 ROOT。 - Magisk-Alpha(2018–至今):Magisk的一个分支版本,相较于原版Magisk隐藏性更高。
内核ROOT(不再需要su
,直接在内核层获取ROOT,不容易被用户空间的程序检测)
- KernelSU(2022–至今):有 LKM & GKI 两种模式,LKM 修补
init_boot.img
通过内核模块 ROOT,GKI 通过修改内核源码 ROOT,GKI 隐蔽性更高但需要内核源码。 - KernelSU-Next(2024–至今):和 KernelSU 类似,集成 sufs内核伪装模块。
- SukiSU-Ultra(2025–至今):和 KernelSU 类似,集成 sufs内核伪装模块,文档更详细。
- Apatch(2023–至今):通过修补
boot.img
实现内核ROOT,不需要内核源码,相比KernelSU兼容性更强,自带音量键救砖机制。
选择哪种方式ROOT?
通过以上几种 ROOT 方式的对比来看 Apatch 是最适合一加Ace5的,KernelSU 虽然更完善,但其 GKI模式需要一加Ace5内核源码,但一加官方公布的一加内核源码并不完整,强行使用会丢失部分特性,因此这里还是选择 Apatch。
-
安装 APatch.apk
-
从对应版本的 ColorOS 固件 中提取
boot.img
,复制到手机上,用APatch.apk
修补得到boot_patched.img
。 -
进入 fastboot 模式,刷入修补后的镜像,重启即可
1 | fastboot flash boot boot_patched.img |
系统应用精简去广
成功 ROOT 之后就可以开始精简系统应用了,顺便去除系统广告应用,需要注意的是,从 Android 13/14 开始,系统分区普遍使用只读文件系统 EROFS,即使 ROOT 了也不能直接修改系统,可使用以下几种办法精简。
-
修改系统镜像重新刷入
:操作难度大,至今未成功过😂。 -
使用模块删除或替换
:删错软件卡开机禁用模块就能恢复,适合测试用,需要会写模块。 -
使用 ADB 命令卸载(隐藏)
:大概是最好的办法,系统软件卸载后还能找回,不过要注意的是卸错软件卡开机需要刷全量包恢复。
电脑端 ADB 命令(电脑安装platform-tools,手机将 ROOT 授权给shell.apk
,连接电脑)
1 | 安装应用 |
手机端
手机端原理是相同的,相比电脑端ADB优点是有UI界面,操作方便,建议用 scene 来操作。
一加 Ace5 系统应用精简列表
应用安全扫描相关应用(卸载/冻结后可跳过应用扫描极速安装)
1 | 卸载 |
第三方应用去广
经过上面的操作,手机自带的广告基本被干掉了,但是某些第三方软件没有无广告版本,还不得不用,就需要单独处理了。
缓存开屏广告(找到广告文件路径,删除并重建一个同名文件,权限改为000
)
1 | 闲鱼 |