通过adb卸载手机上的系统更新应用

确定要删除的应用程序的包名称

运行命令 adb shell pm list packages 列出 所有已安装的应用程序 和用途 grep 进行筛选(如果您使用的是 Mac 或 Linux;在 Windows 上,您可以手动搜索列表)。例如:

adb shell pm 列出软件包 | grep youtube

三、如何找到“系统更新”的包名?

  1. 列出所有包(过滤关键词):

    adb shell pm list packages | grep -i update
    

    常见包名示例:

    • 小米:com.android.updater
    • 华为:com.huawei.android.hwouc
    • 三星:com.samsung.android.fota
    • 谷歌 Pixel:com.google.android.gms.update

或使用 App(如 Package Name Viewer)在手机上查看。或者进入应用管理点击app应用后右上角三个点进入应用详情即可看到包名

一旦确定了准确的包名称,请运行以下基本命令:

adb shell pm uninstall -k --user 0 包名

替代 nombre.del.paquete 视情况而定。例如:

adb shell pm uninstall -k --user 0 com.google.android.youtube

这个命令到底起什么作用?

  • 删除当前用户的应用程序,也就是说,它从应用程序抽屉中消失并停止工作,尽管它仍然物理存在于系统分区中。
  • 在未来的系统更新中 或者在做 恢复出厂设置,该应用程序可能会重新出现,因为它并没有真正被完全删除,只是对该用户而言。

要从系统中删除应用程序 永久地 (删除原始文件),只有 root 权限才允许该级别的访问。然而,实际上,使用 ADB 删除对大多数用户来说已经足够,而且最重要的是,风险更小,可逆性也更强。

系统更新应用通常指:

  • 系统 OTA 更新服务(如 com.android.updatercom.google.android.gms.updatecom.samsung.android.fota 等)
  • 厂商定制的更新 App(如华为“手机管家”中的更新模块、小米“系统更新”等)

这类应用属于 系统预装应用(System App / Privileged App),一般位于 /system/priv-app//system/app/ 目录下。

*仅“停用”(Disable)—— 可行(无需 root)*

adb shell pm disable-user --user 0 <package_name>
  • 这不会真正删除应用,但会隐藏图标、停止运行、禁止自启

  • 系统更新功能将被禁用(不再提示更新)。

  • 可随时恢复

    adb shell pm enable <package_name>
    

情况 2:*彻底卸载(Uninstall)—— 通常不可行(需 root)*

普通 ADB 命令无法删除 /system 分区的只读文件:

adb uninstall <package_name>  # 对系统应用无效,会报错

即使使用:

adb shell pm uninstall -k --user 0 <package_name>

也只是对当前用户隐藏(类似 disable),并非真正卸载。系统恢复出厂设置或清除用户数据后,它会重新出现。

📌 注意:pm uninstall --user 0 并不是“卸载”,而是“为用户 0 移除该应用的可见性”。

✅ 情况 3:*真正删除(需 root + 修改 system 分区)*

如果你有 root 权限,可以:

  1. 挂载 /system 为可写:

    adb shell
    su
    mount -o rw,remount /system
    

    删除 APK 文件和相关目录(例如):

    rm -rf /system/priv-app/SystemUpdate/
    

✅ 四、推荐操作(无 root 用户)

# 示例:禁用小米系统更新
adb shell pm disable-user --user 0 com.android.updater

# 验证是否已禁用
adb shell pm list packages --disabled | grep updater