卸载系统预装应用 - 无 Root 也能删厂商自带 App
两种卸载
Android 里卸载系统预装应用有两种方式:
| 方式 | 权限要求 | 效果 | 适用对象 |
|---|---|---|---|
pm uninstall --user 0 包名 | shell(Runner adb 权限就够) | 从当前用户移除 App,实际文件还在 /system | 预装应用、用户应用 |
pm uninstall 包名 或直接删 /system/app/ | 必须 root | 完整卸载,文件从系统分区移除 | 仅 root 设备 |
Runner 默认走第一种——用 --user 0 参数,shell 权限就能执行,效果是"从你的手机里消失",但系统文件还留着。如果以后想恢复,直接从应用商店重新装或从系统分区把 apk 推回来就行。
完整流程
步骤一:确认包名
很多预装 App 的包名不直观。先查:
# 列出所有系统预装应用的包名
pm list packages -s
# 或者搜索关键词
pm list packages -s | grep 关键词
比如小米手机上的预装:
pm list packages -s | grep miui
# 可能列出 com.miui.analytics、com.miui.backup 等
步骤二:测试卸载
先用 --user 0 方式试卸载:
pm uninstall --user 0 com.miui.analytics
如果返回 Success,卸载成功,App 从桌面消失。
如果返回 Failure 或 SecurityException,说明这个包受保护(核心系统组件),不能卸载。
步骤三:确认卸载效果
# 再次列出,确认没了
pm list packages -s | grep analytics
# 应该返回空
卸载 vs 冻结怎么选
| 情况 | 建议 |
|---|---|
| 不想用但可能某天需要 | 冻结(pm disable-user --user 0),随时解冻 |
| 完全不需要 | 卸载(pm uninstall --user 0),更干净 |
| 存储空间紧张 | 卸载后再从 /system/app/ 删 apk(需 root) |
| 怕搞出问题 | 先冻结观察两天,确认不影响再卸载 |
批量卸载示例
一次卸十几个预装:
pm uninstall --user 0 com.miui.analytics; pm uninstall --user 0 com.miui.backup; pm uninstall --user 0 com.miui.securitycenter; pm uninstall --user 0 com.miui.cloudservice
或者用批处理生成器逐个生成。
恢复被卸载的应用
卸载后 App 文件还在 /system/app/ 或 /system/priv-app/ 里。恢复方式:
# 查找 apk 文件位置
find /system -name "*Analytics*.apk" 2>/dev/null
# 复制到用户应用目录安装
cp /system/app/Analytics/Analytics.apk /data/local/tmp/
pm install /data/local/tmp/Analytics.apk
或者直接从应用商店下载对应 App 安装。
风险提示
不要卸载这些——轻则功能异常,重则无法开机:
com.android.settings(设置)com.android.systemui(系统 UI、状态栏、导航栏)com.android.launcher(桌面启动器)com.android.phone/com.android.telephony(电话功能)- 任何名字里带
systemui、launcher、settings的包
卸载前不确定?先搜这个包名,看看它是干什么的。或者只卸载名字明显是"xxx 助手"、"xxx 服务"、"xxx 广告"的东西。