尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

雷电模拟器广告关不干净?ADB 精准清理预装应用与启动项实战

发布时间:2026/9/26 3:30:39

资讯中心
01
ARTICLE

雷电模拟器广告关不干净?ADB 精准清理预装应用与启动项实战

雷电模拟器广告关不干净?ADB 精准清理预装应用与启动项实战
1. 为什么模拟器的广告总是“关不干净”很多人第一次用雷电模拟器装完打开先看到的是启动前的推荐位进桌面之后右下角又冒出游戏推荐过一会儿通知栏还弹一条“热门应用”。去设置里把能关的开关全关了重启之后照旧。于是就有了一个很常见的疑问这些广告到底是从哪来的为什么设置里关不掉。先把结论说清楚模拟器里的广告大致分三层来源完全不同用同一种方法去关必然关不干净。第一层是启动器自身的推广位也就是模拟器主界面桌面上那些推荐图标、底部横幅、启动时的闪屏。这部分是模拟器厂商自己的运营内容通常设置里有开关但开关的粒度很粗有的版本甚至只关一部分。第二层是随系统启动的预装应用。模拟器镜像里预装了一批应用其中有些带推送能力开机自启之后就会在通知栏弹消息。你在桌面上看不到它但它在后台跑着。这类东西靠点设置是关不掉的因为它本身就是一个正常安装的 App。第三层是系统级的服务与组件。比如某些负责“内容分发”的服务进程它不属于任何一个可见应用而是挂在系统里通过广播或者定时任务拉起推广内容。这一层最隐蔽也是“关了设置还有广告”的主要原因。三层来源对应三种处理手段第一层靠设置 禁用组件第二层靠 ADB 停用/卸载预装应用第三层靠 ADB 禁用系统服务和清理启动项。这也是为什么单独用 ADB 或者单独清启动项都不够必须组合起来做。注意下面所有操作都基于“你对自己设备上的模拟器实例有完全控制权”这个前提。操作前建议先给模拟器做一个快照或者复制一份实例改坏了可以直接回滚不用重装。还有一个前提认知要建立ADB 的 disable 和 uninstall 是两回事。pm disable-user是把应用停用应用还在只是不运行了随时可以enable回来pm uninstall --user 0是把当前用户下的应用移除系统分区里的原始文件还在恢复出厂设置能回来。做清理的时候优先用 disable确认没问题再考虑 uninstall这样可逆性最好。2. 动手前的环境准备ADB 到底怎么连上模拟器2.1 ADB 工具的获取与版本坑ADB 全称 Android Debug Bridge是安卓官方提供的调试桥。它分两部分电脑上的 adb 客户端和模拟器里的 adbd 守护进程。两边通过 5037 端口通信。工具获取有两条路。一是单独下载 platform-tools 包解压出来就是 adb.exe、fastboot.exe 这几个文件绿色免安装。二是如果你装了 Android StudioSDK 目录下的 platform-tools 里就有直接把这个目录加到系统环境变量 Path 里即可。这里有个高频坑热词里也出现了adb server version (31) doesnt match this client (41); killing...。这个报错的意思是电脑上同时存在多个版本的 adb一个在跑 server另一个客户端去连版本对不上。常见于你装了 Android Studio 自带的 adb又单独下了一份 platform-tools两个路径都在 Path 里。解决办法很直接找出所有 adb.exe只保留一个其余改名或者从 Path 里删掉。用下面这条命令确认当前用的是哪个where adbWindows 下会列出所有匹配路径。确认只剩一个之后杀掉旧 server 再重启adb kill-server adb start-server2.2 开启模拟器的 ADB 调试雷电模拟器默认就开了 ADB 调试端口从 5555 开始多开的话依次是 5555、5557、5559……每个实例占两个端口一个 console 一个 adb。你可以在模拟器设置里看到“ADB 调试”开关确认是打开状态。连接命令adb connect 127.0.0.1:5555连上之后adb devices应该能看到类似127.0.0.1:5555 device的输出。如果显示offline或者unauthorized处理方式不一样offline一般是模拟器还没完全启动完等十几秒重连或者adb disconnect之后再connect。unauthorized模拟器里会弹一个“是否允许 USB 调试”的授权框点允许即可。如果框没弹出来热词里也有人问这个去模拟器设置的开发者选项里把“USB 调试”关掉再打开或者直接adb kill-server后重连通常就能触发授权弹窗。2.3 确认自己连的是哪个实例多开场景下最容易搞混你以为在操作实例 A其实命令发到了实例 B。养成习惯每次操作前先确认adb devices adb -s 127.0.0.1:5555 shell getprop ro.product.model-s参数指定目标设备后面所有命令都带上它避免误伤。这一步看起来啰嗦但真出问题的时候能省下大量排查时间。3. 用 ADB 精准定位广告来源而不是瞎禁一通3.1 先看当前装了哪些第三方应用不要上来就凭感觉禁。先列清单adb -s 127.0.0.1:5555 shell pm list packages -3-3表示只列第三方应用非系统。输出会是一堆package:com.xxx.xxx。把这些名字记下来对照你桌面上认识的图标不认识的、没印象的大概率就是预装推广应用。再列系统应用里可疑的adb -s 127.0.0.1:5555 shell pm list packages -s系统应用很多不用全看重点找名字里带ad、push、market、recommend、launcher、game这类关键词的。不同版本命名不一样但套路类似。3.2 抓一次弹窗看是谁在弹光看包名不够得抓现行。思路是清空日志等广告弹出来再从日志里找线索。adb -s 127.0.0.1:5555 logcat -c然后等广告出现立刻抓adb -s 127.0.0.1:5555 logcat -d | findstr /i notification push adLinux/macOS 下把findstr换成grep。重点看NotificationManager、startActivity、broadcast相关的行里面会带包名。谁发的通知一目了然。另一个更直接的办法是看当前前台窗口adb -s 127.0.0.1:5555 shell dumpsys window | findstr mCurrentFocus广告弹出来的瞬间执行能直接看到是哪个 Activity 在前台。这个方法对全屏推广特别有效。3.3 查自启动和后台服务定位到可疑包名之后看它是不是自启动adb -s 127.0.0.1:5555 shell dumpsys package com.xxx.xxx | findstr /i BOOT_COMPLETED receiver service如果输出里有android.intent.action.BOOT_COMPLETED的 receiver说明它开机自启。有service且是started状态说明它在后台常驻。这一步的价值在于先确认再动手。很多人跳过定位直接批量禁用结果把系统输入法、桌面启动器也禁了模拟器直接黑屏。定位清楚再操作风险低得多。4. 禁用与卸载ADB 命令的正确用法和边界4.1 disable-user 与 uninstall 的选择前面说过优先用 disable。命令adb -s 127.0.0.1:5555 shell pm disable-user --user 0 com.xxx.xxx恢复adb -s 127.0.0.1:5555 shell pm enable com.xxx.xxx确认某个包彻底没用、且 disable 之后系统正常再考虑卸载adb -s 127.0.0.1:5555 shell pm uninstall --user 0 com.xxx.xxx--user 0是关键表示只对当前用户卸载不动系统分区。这样即使卸错了恢复出厂设置也能回来。4.2 哪些包绝对不能动这是踩坑重灾区。以下类型的包禁了会出问题包类型典型特征禁用后果桌面启动器名字含 launcher是当前默认桌面黑屏无桌面输入法名字含 inputmethod / ime无法输入文字系统 UIcom.android.systemui状态栏、导航栏消失设置com.android.settings进不去设置包安装器com.android.packageinstaller装不了应用判断方法禁用前先查它是不是当前默认桌面或输入法adb -s 127.0.0.1:5555 shell cmd package resolve-activity --brief -c android.intent.category.HOME adb -s 127.0.0.1:5555 shell settings get secure default_input_method输出里出现的包名一律不动。4.3 批量处理的写法如果确认了一批包都要禁可以写个循环。Windows 批处理示例echo off set ADBadb -s 127.0.0.1:5555 for %%p in (com.aaa.bbb com.ccc.ddd com.eee.fff) do ( %ADB% shell pm disable-user --user 0 %%p ) %ADB% shell pm list packages -d最后一行列出所有被禁用的包方便核对。Linux/macOS 用 shell 循环同理。提示每禁一批就重启一次模拟器观察是否正常。不要一次性禁几十个再重启出了问题根本不知道是哪个导致的。5. 启动项清理让广告应用没有机会自己跑起来5.1 启动项到底存在哪安卓的启动项不像 Windows 有个注册表 Run 键那么集中。它分散在几个地方应用 Manifest 里声明的BOOT_COMPLETEDreceiver系统里的JobScheduler定时任务AlarmManager定时唤醒某些厂商定制的自启动白名单ADB 能直接干预的是前三个。第四个属于系统层普通命令改不了但可以通过禁用整个应用来绕过。5.2 用 dumpsys 查定时任务和唤醒查 JobScheduleradb -s 127.0.0.1:5555 shell dumpsys jobscheduler | findstr /i com.xxx查 AlarmManageradb -s 127.0.0.1:5555 shell dumpsys alarm | findstr /i com.xxx如果某个推广应用在这两个输出里频繁出现说明它在靠定时任务反复拉起自己。这种情况下单纯禁 receiver 不够得把整个包 disable 掉。5.3 限制后台进程数量还有一个系统级的办法限制后台进程上限。开发者选项里有“后台进程限制”ADB 也能设adb -s 127.0.0.1:5555 shell settings put global background_process_limit 2这个值表示最多允许几个后台进程。设太小会影响正常应用比如你正在用的聊天工具会被杀设 2 到 4 之间比较平衡。实测下来配合前面的禁用操作能明显减少广告应用被拉起的概率。恢复默认adb -s 127.0.0.1:5555 shell settings put global background_process_limit -15.4 关闭通知权限从出口堵住广告最终要弹出来多数走的是通知渠道。可以直接把可疑应用的通知权限关掉adb -s 127.0.0.1:5555 shell cmd notification set_dnd on这是全局免打扰。更精细的做法是针对单个包但不同安卓版本命令不一样通用性差。实操中更稳的是直接 disable 应用一劳永逸。6. 实测中遇到的几个意外情况和处理6.1 禁用后模拟器起不来最常见的原因是误禁了桌面或系统 UI。处理办法模拟器一般支持“安全模式”或者通过 ADB 在开机阶段抢连。如果连不上最稳的是用之前做的快照回滚。这也是为什么第一步就强调先备份。如果没备份可以尝试删除模拟器数据目录下的相关配置但风险较高不如直接新建实例重来。6.2 重启后禁用的应用又回来了这种情况通常是因为模拟器有“镜像还原”机制每次启动从只读镜像恢复。解决办法是在模拟器设置里关掉“每次启动还原”或者把改动做在持久化分区上。不同版本叫法不同一般在“性能设置”或“高级设置”里。6.3 ADB 命令执行成功但广告还在先确认广告来源是不是被漏掉了。重新抓一次 logcat看弹窗的包名是不是你禁的那个。有时候一个推广位背后是多个应用轮流上禁一个还有另一个。这时候回到第 3 步重新定位把新发现的包也处理掉。还有一种可能是广告来自模拟器主程序本身不是安卓系统里的应用这种情况 ADB 管不到只能靠模拟器自己的设置项或者换版本。判断方法广告出现时dumpsys window看不到对应的安卓 Activity那基本就是宿主程序弹的。6.4 多开实例要逐个处理ADB 的禁用操作是针对单个实例的多开的话每个实例都要连一次、做一遍。可以写脚本批量跑把端口列表传进去循环。注意每个实例的预装应用可能略有差异别直接套用同一份包名清单。7. 一套可复用的清理流程与长期维护建议把上面的东西串起来形成一套固定动作备份实例快照或复制。adb connect连上目标实例确认设备号。pm list packages -3列出第三方应用标记可疑项。logcat -c清日志等广告出现logcat -d抓包名。dumpsys package确认可疑包的自启动和服务情况。逐个disable-user每批重启验证。确认稳定后对确定无用的包执行uninstall --user 0。设置background_process_limit收紧后台。记录下本次禁用的包名清单方便以后新实例复用。长期维护上有两点经验。一是模拟器升级版本后预装应用清单可能变化升级完要重新跑一遍第 3 到第 6 步。二是把常用命令写成脚本比如一个clean.bat加一个包名列表文件换实例的时候改一下端口就能用比每次手敲快得多。提示所有 disable 和 uninstall 操作都有可逆性但前提是你记得住禁了什么。强烈建议维护一个文本清单记录包名、禁用日期、验证结果。出问题的时候这份清单就是你的回滚依据。最后说一个判断标准清理做到位的标志不是“一个广告都没有”而是“重启三次桌面正常、输入正常、没有意外弹窗”。达到这个状态就可以停手了过度禁用反而容易引入新的不稳定因素。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。