不刷机、不 root、不动 /system 分区,一条 pm uninstall --user 0 就能把厂商预装、用不上的系统 App 从当前用户里"请出去"——干净、可逆、随时能装回。
适用场景:车机 / 手机 / 平板上那些删不掉又占资源的预装应用(钱包、商城、推送、自带浏览器……)。本文以小米 com.mipay.wallet 为例,全程只需一台连了 adb 的电脑。
安卓的多用户机制给了我们一个"免 root 删预装"的合法后门:每个用户(user)有一份独立的应用安装状态,而系统预装应用其实只是"装在所有用户上"。只要针对**当前用户(id=0)**执行卸载,该应用就会从这个用户里消失,但 /system 里的原始 apk 仍在,系统分区原封不动——所以不用 root,也随时能恢复。
下面分四步讲清楚:怎么拿到包名、怎么卸载、参数什么意思、以及那些"坑"怎么应对。
一、前置条件
- 电脑已安装
adb 并加入系统 PATH; - 设备开启 USB 调试,且已对本机授权(车机一般在"开发者选项"里开);
- 数据线连上,先确认设备在线:
adb devices# 能看到设备序列号即代表连接成功;离线/未授权先排查调试授权
二、拿到目标应用的包名
最省事的办法:先把要卸的 App 打开,让它处在前台,再用 dumpsys window 抓当前焦点窗口。
fuxi:/ dumpsys window | grep mCurrentFocus:/
这行里的 Window{...} 就是当前界面,/ 前面是包名、后面是类名(Activity)。所以上面这个界面的包名就是:
com.mipay.wallet
不想进 adb shell 的话,在电脑端一行也能出结果:adb shell "dumpsys window | grep mCurrentFocus"。
补充:不打开 App 也能查包名。 如果 App 没图标或拉不起来,可以用包名列表反查:
adb shell pm list packages | grep mipay # 按关键字模糊匹配adb shell pm list packages -3 # 只列第三方应用adb shell cmd package list packages # Android 9+ 推荐写法
三、卸载应用(核心命令)
拿到包名后,真正起作用的就是这一条:
pm uninstall --user 0 packageName
含义:把「用户 0」名下的 packageName 应用卸载掉。以上一步的 com.mipay.wallet 为例:
fuxi:/ $ pm uninstall -k --user 0 com.mipay.walletSuccessfuxi:/ $
返回 Success 即卸载成功,桌面/应用列表里该应用随即消失。
参数拆解
| 参数 | 作用 | 说明 |
|---|
-k | 保留应用数据 | 卸载后 /data/data/<包名> 的数据目录保留,重装可恢复;不想要残留就去掉 -k |
--user 0 | 指定用户 id | Android 支持多用户(含工作资料、车机副驾账户等),默认用户只有一个,id=0;不写默认也是当前用户,但显式写上更稳妥 |
一句话记忆:-k 管数据留不留,--user 0 管卸哪个用户。
四、那些"看起来不对劲"的情况
应用列表出现"未针对此用户安装" 部分系统设置页会把"仅从当前用户卸载、但系统镜像里还有"的应用标成这行字。这不影响使用,重启一下字样就消失了。
卸载后还想装回来(可逆性) 因为是按用户卸载,原始 apk 还在系统分区,随时可恢复:
adb shell pm install-existing --user 0 com.mipay.wallet
少数核心应用卸不掉 部分系统核心组件(如 com.android.packageinstaller、设置、系统 UI)受保护,pm uninstall --user 0 会回 Failure [not installed for 0] 或不生效,属正常现象,别硬刚。
OTA / 恢复出厂会复活 这种卸载只改了当前用户状态,没有动 /system。系统升级或恢复出厂后,预装应用可能重新出现——本质是"禁用"而非"删除",这正是它免 root、零风险的代价。
小结
免 root 卸预装的核心就三步:开 App → dumpsys window | grep mCurrentFocus 拿包名 → pm uninstall -k --user 0 <包名>。它利用了安卓多用户模型,在不触碰系统分区的前提下把应用从当前用户里"关掉",干净且可逆(install-existing 即可还原)。
适合清掉车机/手机上那些用不上的钱包、商城、推送类预装来释放资源;但要注意它并非真正删除 apk,少数核心应用卸不掉,OTA 后也可能复发。把它当成一个"零风险瘦身工具",而不是永久移除手段,就稳了。