通过 ADB 命令卸载小米手机预装软件
在之前小米电视安装第三方桌面文章里介绍过这种方法。同样是 Android 系统,手机自然也可以通过 ADB 命令卸载预装软件,具体如下文。
注意:请勿禁用或卸载与系统服务关联密切的预装软件,以防系统运行出现异常或卡米问题。在做未有把握操作之前,最好先备份手机数份。如果遇到卡米问题,极端情况下可能要在 Recovery 界面清除数据才能启动系统。
准备工作
- 电脑下载 Android SDK Platform 工具包,解压备用;
- 手机开启“开发者选项”和“USB调试”,具体步骤查看这篇文章;
- 手机用数据线连接到电脑(手机通知栏确认已启用 USB 调试);
通过 ADB 连接手机
电脑打开之前解压的 platform-tools
文件夹,按住 Shift
键,同时鼠标右键点击文件夹空白处,在右键菜单点击“在此处打开 Powershell 窗口”,后面 ADB 命令在这个窗口输入。
先用下面命令确认 ADB 连接是否正常(首次运行会失败,需在手机上点击允许来自电脑的 USB 调试连接)。
.\adb.exe devices
再次运行命令,当看到返回手机设备编号就表示 ADB 连接正常。否则尝试换个 USB 端口或数据线连接。
查看已安装软件列表
用下面命令查询已安装的软件列表(之后卸载软件需要知道软件包名称)。
# 列出所有软件 .\adb.exe shell pm list packages # 列出系统软件 .\adb.exe shell pm list packages -s # 列出其他软件 .\adb.exe shell pm list packages -3 # 列出已禁用软件 .\adb.exe shell pm list packages -d # 列出已启用软件 .\adb.exe shell pm list packages -e
这样查询结果只显示软件包名称,要查询可识别软件名称,需到系统应用管理里查看,或者安装 Apk Extractor 软件(可在 Google Play 找到)。为方便查找,这里也整理了一份 MIUI 系统预装软件列表。
要查看某个软件的详细信息,可以通过 ADB 命令查询(红色部分为软件包名称,自行替换,下同)。
# 查看软件详细信息 .\adb.exe shell dumpsys package com.mipay.wallet # 查看软件安装路径 .\adb.exe shell pm path com.mipay.wallet
通过 ADB 命令停止软件运行
在禁用或卸载软件之前,最好先停止软件运行。
.\adb.exe shell am force-stop com.mipay.wallet
通过 ADB 命令禁用软件
禁用是比直接卸载更好的选择,它可以在需要时恢复。例如禁用“小米钱包”软件,禁用后手机上就看不到了。
.\adb.exe shell pm disable-user com.mipay.wallet
如果要恢复软件,使用下面命令。
.\adb.exe shell pm enable com.mipay.wallet
通过 ADB 命令卸载软件
如果一定要卸载删除软件,使用下面命令。
.\adb.exe shell pm uninstall -k --user 0 com.mipay.wallet
在完成操作后,用 .\adb.exe reboot
命令重启手机。
卸载应用商店然后卡米了,不清楚数据怎么救回来
感谢分享,已卸载一些应不上的软件。
C:\adb>adb.exe shell am force-stop com.xiaomi.market
C:\adb>adb.exe shell pm disable-user com.xiaomi.market
Exception occurred while executing ‘disable-user’:
java.lang.SecurityException: Cannot disable miui core packages.
at com.android.server.pm.PackageManagerService.setEnabledSettings(PackageManagerService.java:3896)
at com.android.server.pm.PackageManagerService.-$$Nest$msetEnabledSettings(Unknown Source:0)
at com.android.server.pm.PackageManagerService$IPackageManagerImpl.setApplicationEnabledSetting(PackageManagerService.java:5681)
at com.android.server.pm.PackageManagerShellCommand.runSetEnabledSetting(PackageManagerShellCommand.java:2375)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:274)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onShellCommand(PackageManagerService.java:6198)
at android.os.Binder.shellCommand(Binder.java:1054)
at android.os.Binder.onTransact(Binder.java:882)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4313)
at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onTransact(PackageManagerService.java:6182)
at android.os.Binder.execTransactInternal(Binder.java:1290)
at android.os.Binder.execTransact(Binder.java:1249)
大神你好,我禁用应用市场提示上面这段内容。还有别的办法解决吗?
这种核心应用估计不能禁用哦。如果不想要应用商店,可以刷海外版。
adb前面的./也要加吗
如果之前已配置系统环境变量,则不用添加。
大佬卸载软解有一个报 Failure [-1000] 是什么问题
请贴一下完整报错信息。
运行adb命令.\adb.exe devices后返回,list of devices attached,然后就没有然后了,换过usb接口,怎么办呀
留意手机上有没有弹出授权提示,第一次运行命令需要授权电脑连接。
解决案例如下,我看上面有兄弟也反应手机没有弹窗,盲猜很有可能也是这个原因。
感谢反馈!
已解决:电脑没有安装adb驱动,安装驱动后,成功adb
已经ROOT了的Redmi Note7 Pro如何卸载系统应用呢?我尝试授予第三方软件超级权限,但都不成功。你知道有那些工具应用能够卸载吗?或是有其他的方法?
用文中方法就可以了。
手机没有adb弹窗
那运行adb命令有显示手机设备吗?
没有啊
那可能是连接问题,更换usb端口或数据线再试。
请教一下,adb命令能更改priv-app目录下的软件么?我的目的是把Andriod Auto安装到priv-app目录下,因为andriod 12要求andriod auto必须预装才能使用。全球版和欧版有预装,但需要解锁bl导致safenet test过不了。尝试过用magisk屏蔽,但小白能力有限 没有成功。大神有没有好的建议?
抱歉,这个没弄过不清楚~
好的 谢谢~
感谢您回答了这么多问题。
我想咨询一个问题:如果在判断失误情况下,用“uninstall”卸载了某些系统必须的软件,导致系统出现问题,此时可能涉及到哪些挽救性的操作,才能使手机重新进入系统和正常运行?
目前还没遇到这个问题,所以没研究过,不过极端情况下,在损失数据情况下,进rec清除数据恢复出厂设置估计可以恢复启动,或者线刷保留数据也可尝试。之前老版本miui有个系统安全模式启动或许也有帮助,但现在仅在开发版中提供。
谢谢。有可能导致无法进rec、无法线刷的情况出现吗?
这个只能说概率很小哦,不能进rec和fastboot的情况用了这么多年小米手机都没遇过,线刷需要手机已经BL解锁。
好的,谢谢,早点儿休息!
通过这个方法禁用小米海外版系统的谷歌全家桶会卡米吗?
之前测试不会。
好的,谢谢。
1. MIUI 12.5 开发版,已安装MAGISK最新,面具里显示已授权,但是ES文件删除系统应用时还是显示失败,冰箱能冻结普通应用,系统应用能加进列表,但是没效果,这是因为面具的问题还是MIUI的问题?因为用冰箱的时候提示因为最新MIUI的限制,一些系统应用可能不能成功 面具都按照步骤装的,也没报错,ES文件和冰箱要授权的时候,也能给授权啊?
2. 用ADB删除几个应用,浏览器,钱包,商店之类的,重启就卡米了,请问还有什么办法可以安全删除系统应用吗?
3.卡米的话是不是线刷之前保留的BOOT就可以了而不用重刷整个系统呢?
4.只能降级了吗? MIUI 11 可以删除吗 还是要到10?
问题一没有试过,可能来自系统方面的限制。
问题二可以试着禁用软件而不是删除,如果还卡米,可尝试用
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
禁用系统验证(vbmeta.img文件在刷机包里提取)。问题三提到的替换boot.img文件是安装面具卡米解决方法,删除软件估计没有效。
问题四这个不记得从什么版本开始加这个验证
问题二禁用系统验证不能解决卡米问题
据说升级到安卓12以上删除系统应用不会卡米?是不是这样子的?
不管是 es 还是 fx 做修改都要 remount 到 R/W 才能修改,根目录不能装载修改。
超厉害,谢谢
最下面一大堆英文,不认识。😓
请小米告诉我们他预装的软件的用途以及那些软件一定不能刪而那一些软件可以刪好吗!
如果是官方意见,那么系统应用管理里可以卸载的就表示可以删的,不然也不会限制不给删除~~
广告类、金融类、非必要的数据收集类
好文章