玩机久了,谁没刷过几个第三方ROM呢?无论是追求精简还是尝鲜新功能,刷机之后总得面对一件事——那些提前塞进系统的推广软件。什么浏览器、天气、清理工具、应用商店,甚至某些连名字都莫名其妙的游戏中心,一开机就蹦通知,点错了还自动下载东西。想删?普通卸载按钮是灰的,系统应用列表里找不到,长按只能禁用,禁用之后还留个空图标在那儿膈应人。更恶心的是,有些推广软件后台跑流量,广告弹窗跟牛皮癣一样。

第三方rom中的推广软件怎么删除干净,无需root卸载系统预装软件的通用方法
(图片来源网络,侵删)

很多教程一上来就说“换系统分区,刷精简化包”,不然就得“先ROOT再删”。但ROOT这碗饭不是人人都吃得香——有些手机ROOT后保修没了,有些本来就很卡,ROOT了更不稳定,还有些用户只是临时刷个ROM用用,不想折腾完整权限。那有没有不ROOT也能搞定的通用法子?还真有,而且不算复杂,只要你手里有一根数据线、一台电脑,外加一点耐心。

先说最基础也是最好用的方法:ADB卸载。这玩意儿全名叫Android Debug Bridge,本质上就是一条USB线让电脑指挥手机干活的工具。不需要手机ROOT,只要能打开USB调试就能用。具体操作:手机关闭“仅充电”模式,在开发者选项里打开USB调试(找不到开发者选项的去设置里疯狂点版本号),连接电脑,装好驱动。然后电脑上打开cmd或者PowerShell,输入adb devices确认设备连上了。接下来关键一步:你要知道那些讨厌软件的包名。怎么查?可以装一个叫“Package Viewer”的APP,或者用adb命令adb shell pm list packages自己看。找到包名之后,执行adb shell pm uninstall -k --user 0 包名。注意,这个命令是卸载当前用户的版本,系统分区里的原始APK还留着,但你手机里那个图标已经消失了,不会再跑出来。重启手机也不会复原,除非你恢复出厂设置或者刷机更新。

这个方法能干掉九成以上的第三方ROM预装软件。比如某ROM自带的“极速浏览器”,包名com.example.browser,直接卸掉就好。但遇到一些顽固分子,比如系统核心组件或者ROM作者特意加固的应用,这个命令会返回“Failure”或者“INSTALL_FAILED_VERIFICATION_FAILURE”。别急,还有第二招:冻结而不是卸载。用adb shell pm disable-user 或者adb shell pm hide,把应用藏起来,不让它运行。这样虽然占着几兆空间,但至少不会弹广告、跑流量。想恢复的时候用adb shell pm enable 包名就能唤回来。

还有一个变通方法是利用冰箱(Ice Box)、黑域(Brevent)这类工具。冰箱在不需要ROOT的情况下也能用,但需要你在电脑上运行一次adb命令给它授权。具体步骤:手机安装冰箱APP,在电脑执行adb shell dpm set-device-admin com.catchingnow.icebox/.receiver.DPMReceiver,这样冰箱就拿到了设备管理员权限。之后你在冰箱里把那些推广软件冻住,原理和pm disable差不多,但有个APP界面操作起来更直观。黑域也是类似套路,先adb授权再一键阻止运行。这两种方法的好处是你随时可以解冻,万一误删了系统组件还能救回来。

不过得泼盆冷水:这些通用方法不是万能的。有些第三方ROM的制作者很鸡贼,把推广软件伪装成系统核心服务,比如“com.google.android.gms”这种名字听起来很像谷歌服务的包,实际上是个广告SDK。你如果盲目套用命令卸掉了真正的谷歌服务,导致Play商店打不开,那就得不偿失了。所以动手之前最好去论坛或者XDA上查查对应ROM的包名列表,或者安装个“系统应用管理”类APP,先把每个应用的详细信息看一遍,确认不是系统依赖再下手。如果ROM本身把推广软件写进了/system/app目录但没设置可卸载标记,那ADB卸载也是没用的——因为--user 0卸载只针对data分区,系统分区里的东西纹丝不动。这时候你需要用adb shell mount -o remount,rw /system这一套命令,但不好意思,这步需要ROOT。所以如果你的ROM里那种死赖在/system/app下的推广软件,又不肯ROOT,那只能忍着,或者刷别的ROM。

还有一个容易被忽略的坑:某些软件卸载之后会产生缓存残留或者关联启动。比如你卸了一个“游戏加速器”,但系统里其他组件还可能检测到它缺失,反复弹出“xx服务停止运行”的报错。解决办法是先禁用再卸载,或者用adb shell pm clear 包名清空数据之后卸。有些ROM的推广软件之间存在互相唤醒机制,卸了一个,另一个立马把它从后台拉起来。遇到这种情况,光靠卸载不行,得配合黑域或者拦截唤醒的手段。不过不ROOT的拦截唤醒能力有限,效果看运气。

既然聊到这儿,顺便说说为什么第三方ROM这么爱塞推广。说到底,开发者也是人,要恰饭的。免费的第三方ROM通常靠推广收入维持,把一些应用预装进去,用户每点一次或者每激活一个,开发者就能收到几毛钱。咱们作为使用者,嫌烦可以理解,但也没必要骂街。真想要干净,要么自己动手精简打包,要么找那些付费的、无推广的精简版ROM。不过这些都是进阶玩家的路,普通用户能拿ADB搞定就知足吧。

这里再给几个实战经验:第一,别在数据备份完成之前乱卸。有些推广软件表面是垃圾,但它的卸载可能导致蓝牙、WiFi或者账户同步出问题。先钛备份或者完全备份系统,再动手。第二,如果手机是小米、华为这类品牌机刷了第三方ROM,注意不要卸掉“安全中心”或者“设置”相关的包,否则后续你连修改权限的地方都找不到。第三,如果你不想每次刷机后都重复操作,可以留一个批处理脚本,把所有套路命令写进去,下次刷完直接双击,几分钟搞定。网上也有人分享现成的“一键去推广脚本”,但来源不明的脚本慎用,小心里面有后门。

如果实在没有电脑,手机上也有部分工具能帮上忙,比如“系统应用卸载器(需ROOT)”或者“ADB工具(手机版)”,但手机版ADB需要你启动一个本地服务器,本质上还是走调试接口,有些手机不能直接跑。还有那个叫“Universal Android Debloater”的GUI工具,用起来很傻瓜,选设备、勾应用、点卸载就行,原理也是adb。一句话总结:不ROOT删推广,最稳妥的路就是手里有电脑,脑子里有包名,手上有耐心。

现在的第三方ROM市场比以前规矩点了,很多大神的包会明确标注“无推广”或者“仅保留必要服务”。挑ROM的时候多看评论,多问群友,比刷完再折腾省心得多。当然,如果你已经中招了,别急,按上面说的ADB方案试试,大概率能清理个八九成。剩下的那点顽固分子,要么忍,要么练手自己编译ROM——那又是另一个世界的故事了。