在本文中,通常无法删除和禁用预装应用程序的强行擦除我会解释如何做。
电脑adb环境如果你有的话,就可以通过相对简单的操作来实现。
在这一部分中,我们将解释使用 adb 命令的具体步骤。
说明流程
前提
强制禁用或删除应用程序意味着什么? -优点/缺点-
说明①
前提:强制禁用或删除应用程序意味着什么? -优点/缺点-
通常,对于 Android 上不必要的应用程序,卸载(删除)或者禁用您可以执行此过程。
▼卸载和禁用的区别
除了一些预装的应用程序之外,您基本上可以卸载任何应用程序。

卸载记事本应用程序的示例。
另一方面,一些预装的应用程序无法删除,但可以选择禁用它们。

禁用 Osaifu-Keitai 应用程序的示例。
如上所述,即使它是预装的应用程序,也有办法阻止它运行。
但是,有些特殊应用程序无法卸载或禁用。

例如 Xperia Assist(左)和 docomo Application Manager(右)。
事实上,只要你的计算机上有 adb 环境(不需要 root 权限),就可以通过相对简单的操作来禁用或卸载此类预装应用。

(左)禁用 Xperia Assist(右)删除 docomo Application Manager
以下是此方法的优点/缺点。
优点是您可以停止过去无法删除或禁用的应用程序,进一步减轻设备的负载。
另一方面,缺点是它本身就存在限制,因为它在预装应用程序中发挥着重要作用,并且存在停止该功能会导致智能手机操作出现问题的风险。
另外,由于是使用adb命令强制删除的,因此可能需要初始化才能恢复。
本文提供了有关如何运行 adb 命令的详细说明和相关信息。
如何使用adb命令删除系统应用
如上所述,某些预装的 Android 应用程序可能无法删除或禁用。
另一方面,如果您在计算机上使用 adb 命令,则可以克服此限制并禁用或删除它。
▼强制禁用
adb shell pm disable-user --user 0 <アプリのパッケージ名>
▼强制卸载
adb shell pm uninstall -k --user 0 <アプリのパッケージ名>
两个命令(强制卸载/禁用)之间的区别如下。
*2:强制卸载(pm uninstall)兼容Android 5.0或更高版本,强制禁用(pmdisable-user)兼容Android 7.0或更高版本。如果您使用的是较旧的操作系统版本,请使用本文后面提供的替代命令。注意,对于强制卸载后的重新安装,该命令仅适用于Android 8.0及以上版本,因此对于Android 5.x-7.x来说,不初始化是无法恢复的。
我将按以下顺序解释它们:
- 电脑上准备adb环境
- 找到您要禁用或删除的应用程序的包名称
- 使用 adb 命令禁用应用程序 (pmdisable-user)
- 使用adb命令卸载应用程序(pm uninstall)
1.在电脑上准备adb环境
在你的电脑上亚行命令请准备好可以使用的环境。
相关文章中介绍了适用于 Windows 和 Mac 的步骤。
您还需要一根电缆来连接您的计算机和 Android。
根据智能手机 USB 端子(micro USB / Type C)的形状准备一个。
而且
设置系统从开发者选项打开USB调试请启用它。

2.检查您要禁用或删除的应用程序的包名
运行adb命令时,需要指定目标应用的包名。
[什么是包名称?] – 为每个应用程序确定的唯一字符串(=应用程序 ID)。如果包名不同,即使名称相同,应用程序也会被识别为不同的应用程序。
▼包名示例
同一应用程序的不同版本可能具有不同的包名称。我们建议您在自己的设备上实际检查一下。
查找包名称的方法有多种,例如:
这个应用程序很有用。

(左)红线代表包名 (右)通过关键字方便缩小范围
3.使用adb命令禁用应用程序(pmdisable-user)
从这里开始,我们将介绍 adb 命令来强制禁用应用程序。
我们稍后会讨论“卸载”方法,但首先尝试这种“禁用”方法,因为恢复它有很大的风险。
这里介绍的命令(pmdisable-user)兼容Android 7.0或更高版本。
用USB连接Android后,在电脑端输入adb命令。
粘贴下面的命令,然后在“应用程序包名称”中输入要禁用的应用程序。
adb shell pm disable-user --user 0 <アプリのパッケージ名>
请注意,“user”之前有两个连字符。
例如
使用 Xperia Assist 时,它将如下所示:
adb shell pm disable-user --user 0 com.sonymobile.assist_light

如果显示以下消息则确定(
Xperia Assist 示例)。
Package com.sonymobile.assist_light new state: disabled-user

如果设置中的应用信息中状态为“已禁用”,则说明成功。

Xperia Assist(左)和 docomo LIVE UX(右)被禁用的示例。
如果要恢复它,请输入以下命令。
adb shell pm enable <アプリのパッケージ名>
例如
使用 Xperia Assist 时,它将如下所示:
adb shell pm enable com.sonymobile.assist_light

如果显示以下消息则确定(
Xperia Assist 示例)。
Package com.nttdocomo.android.applicationmanager new state: enabled

“已禁用”状态将在设置中的应用程序信息中消失。

Xperia Assist 返回原始状态的示例。
这就是解释。
即使你使用其他app,只要改变包名,执行的命令都是一样的。
▼强制禁用
adb shell pm disable-user --user 0 <アプリのパッケージ名>
▼恢复
adb shell pm enable <アプリのパッケージ名>
缺点是一些预装的应用程序可能不起作用,重启后会自动恢复到原来的状态。
在我的验证环境中,
docomo 应用程序管理器受到影响。

重新启动后从禁用恢复为启用的示例。
作为解决方案,请尝试更强大的卸载命令(pm uninstall)。
稍后我会介绍他们。
4.使用adb命令卸载应用程序(pm uninstall)
从这里开始,我将介绍adb命令来强制卸载应用程序。
通过这种方法,您可以更有效地停止应用程序。另一方面,恢复数据存在较高风险,如果过程失败,则需要初始化。
这里介绍的命令(pm uninstall)兼容Android 5.0或更高版本。但是,只有重新安装命令(cmd package install-existing)与Android 8.0或更高版本兼容。
用USB连接Android后,在电脑端输入adb命令。
粘贴下面的命令,然后在“应用程序包名称”中输入要卸载的应用程序。
adb shell pm uninstall -k --user 0 <アプリのパッケージ名>
请注意,“user”之前有两个连字符。
例如
使用 docomo Application Manager,它将如下所示:
adb shell pm uninstall -k --user 0 com.nttdocomo.android.applicationmanager

显示“成功”则表示成功。

如果设置中的应用信息显示“未安装”,则说明安装成功。

未安装 docomo Application Manager(左)和 Style Cover(右)的示例。
如果要恢复它,请输入以下命令。
adb shell cmd package install-existing <アプリのパッケージ名>
例如
使用 docomo Application Manager,它将如下所示:
adb shell cmd package install-existing com.nttdocomo.android.applicationmanager

如果显示以下消息则确定(
docomo 应用程序管理器的示例)。
Package com.nttdocomo.android.applicationmanager installed for user: 0

“未安装”状态将从“设置”中的应用程序信息中消失。

docomo Application Manager 返回到原始状态的示例。
这是一种恢复被强制卸载的应用程序的机制。
卸载时输入的adb命令如下,仅删除当前登录的“用户0”。
adb shell pm uninstall -k --user 0 <アプリのパッケージ名>

实际消息还显示“未为此用户安装”。
▼pm uninstall 选项的含义
用户0是指默认的主用户。
因此,被删除的应用程序仍保留在 Android 内部,因此您可以通过输入以下命令来恢复它。
adb shell cmd package install-existing <アプリのパッケージ名>
然而,也存在各种缺点。
首先,Android 7.x 或更早版本不支持此命令。
此外,即使在 Android 8.x 或更高版本上,也可能存在由于执行不带“-k”或“-user 0”部分的命令等原因而无法撤消命令的情况。
在这种情况下,您需要从提前备份的 apk 文件重新安装。
如果准备apk文件有困难,则需要初始化设备。
这些是强制禁用或删除 Android 预装应用程序的步骤。
执行的adb命令很简单,只要能找到目标应用程序的包名就没有障碍。
另一方面,我想重申,这些预装的应用程序预计不会停止运行,也没有经过制造商的验证。
在尝试此操作之前,请注意可能会出现意外故障。
补充:关于强制删除Android应用程序的注意事项
在本部分中,我们将提供有关使用 adb 命令强制删除应用程序的详细信息。
其中包含一些极客内容,所以如果您感兴趣的话请查看。
说明流程
补充①
适用于 Android 5.0 及更早版本的 adb 命令 -pm block/pm hide-
补充②
补充③
适用于 Android 5.0 及更早版本的 adb 命令 -pm block/pm hide-
正如文章开头介绍的,上一部分提到的 adb 命令是有操作系统要求的。
▼强制禁用(兼容Android 7.0以上)
adb shell pm disable-user --user 0 <アプリのパッケージ名>
▼强制卸载(兼容Android 5.0以上)
adb shell pm uninstall -k --user 0 <アプリのパッケージ名>
事实上,有一个针对旧操作系统版本的专用命令。
▼强制禁用(兼容Android 4.4)
adb shell pm block <アプリのパッケージ名>
▼强制禁用(兼容Android 5.x)
adb shell pm hide <アプリのパッケージ名>
这有点令人困惑,所以这里有一个表格来整理它。
如果您继续使用旧操作系统的终端,请使用 pm block/pm hide。
我们将逐一介绍,供您参考。
对于 Android 4.4 KitKat – pm 块
粘贴下面的命令,然后在“应用程序包名称”中输入要禁用的应用程序。
adb shell pm block <アプリのパッケージ名>
例如
在 Chrome 中,它看起来像这样:
adb shell pm block com.android.chrome

如果显示以下消息则确定(
Chrome 示例)。
Package com.android.chrome new blocked state: true

如果要恢复它,请输入以下命令。
adb shell pm unblock <アプリのパッケージ名>
如果显示以下消息则确定(
Chrome 示例)。
Package com.android.chrome new blocked state: false

这里介绍的adb命令仅适用于Android 4.4 KitKat。
如果我在任何其他操作系统版本上运行它,我会收到以下错误消息:
Error: unknown command 'block'

在 Android 4.4 以外的设备上显示错误
对于 Android 5.0 Lollipop – pm hide
粘贴下面的命令,然后在“应用程序包名称”中输入要禁用的应用程序。
adb shell pm hide <アプリのパッケージ名>
例如
新功能看起来像这样:
adb shell pm hide com.sonymobile.entrance

如果显示以下消息则确定(
新增内容示例)。
Package com.sonymobile.entrance new hidden state: true

如果要恢复它,请输入以下命令。
adb shell pm unhide <アプリのパッケージ名>
如果显示以下消息则确定(
新增内容示例)。
Package com.sonymobile.entrance new hidden state: false

这里介绍的adb命令仅适用于Android 5.x Lollipop。
如果您在其他操作系统版本上运行它,您将收到如下错误消息:
Error: java.lang.SecurityException: Neither user xxxx nor current process has android.permission.MANAGE_USERS.

Android 5.x 以外的设备上显示的错误
adb命令显示错误的原因及解决方法
以下是执行 adb 命令时出现的主要错误的一些示例。
如果您遇到同样的错误,请参阅此内容。
错误:未知选项:-u
如果显示以下错误,请确保您在“user”之前输入了两个连字符。
Error: Unknown option: -u

例如,如果要强制卸载,输入的命令如下。
adb shell pm uninstall -k --user 0 <アプリのパッケージ名>
请小心,因为“用户”之前只有一个连字符的错误很多,如下所示。
adb shell pm uninstall -k -user 0 <アプリのパッケージ名>
错误:java.lang.SecurityException:权限拒绝
如果出现如下错误,可能是执行的命令与操作系统版本不兼容。
Error: java.lang.SecurityException: Permission Denial: attempt to change component state from pid=xxxx, uid=xxxx, package uid=xxxx

例如,执行以下命令时显示上述情况:
adb shell pm disable-user --user 0 <アプリのパッケージ名>
它兼容Android 7.0或更高版本,因此如果您使用Android 6.x或更低版本会出现错误。
错误:未知选项:–user
如果出现如下错误,可能是执行的命令与操作系统版本不兼容。
Error: Unknown option: --user

例如,执行以下命令时显示上述情况:
adb shell pm uninstall -k --user 0 <アプリのパッケージ名>
它兼容Android 5.0或更高版本,因此如果您使用Android 4.x或更早版本会出现错误。
/system/bin/sh: cmd: 未找到・未知命令: install-existing
执行强制卸载(pm uninstall)后输入以下命令进行恢复时会显示此信息。
adb shell cmd package install-existing <アプリのパッケージ名>
它兼容Android 8.0或更高版本,因此如果您使用Android 7.x或更早版本会出现错误。
▼适用于Android 6.x或更早版本
/system/bin/sh: cmd: not found

在运行 Android 6.0 的设备上执行的示例。失败。
▼适用于Android 7.x
Unknown command: install-existing

在运行 Android 7.0 的设备上执行的示例。失败。
失败 [DELETE_FAILED_DEVICE_POLICY_MANAGER]
如果显示以下错误,则有问题的应用程序是设备管理应用程序可以将其设置为 。
Failure [DELETE_FAILED_DEVICE_POLICY_MANAGER]

[什么是设备管理应用程序?] - 需要 Android 管理员访问权限才能提供特定功能的应用程序。与安全相关的功能(例如与 MDM 相关的应用程序/控制睡眠的应用程序)通常就是这种情况。
作为解决方案,关闭权限。
我们以Xperia XZ(Android 8.0)的屏幕为例进行说明。
从设置应用程序和通知→特殊应用程序访问并继续,

设备管理应用程序取消勾选相应的应用程序。

取消选中远程初始化应用程序的示例。
禁用此设备管理应用程序执行一下就OK了。

错误:找不到设备/模拟器...等
如果显示以下错误,则说明通过USB连接到电脑的Android无法正确识别。
▼错误示例1
error: no devices/emulators found
▼错误示例2
error: device unauthorized

错误示例:未找到设备/模拟器。
请检查以下两点,因为它们通常是原因。
- 您是否启用了 Android USB 调试?
- 您是否选中“始终允许从此计算机进行 USB 调试”?
如何重新安装已删除的预装应用程序
正如文章中介绍的,有一个命令可以恢复已删除的预装应用程序。
▼强制卸载
adb shell pm uninstall -k --user 0 <アプリのパッケージ名>
▼恢复
adb shell cmd package install-existing <アプリのパッケージ名>
但是,Android 7.x 或更早版本不支持此命令,因此您需要使用其他方法重新安装它。
这里我们将介绍三种主要方法。 ① 和 ② 是旁加载 apk 文件的方法,③ 是如何初始化它。
[什么是 apk 文件?] – 组成 Android 应用程序的包。文件扩展名是.apk。
预装的
我们将以恢复 What's New 的案例为例来解释每个案例。

①:从提前备份的apk文件重新安装
即使它是预装的应用程序,Android 设备内部也存在 APK 文件。
如果您提前提取该文件,则可以在删除后从备份文件中恢复它。
有很多方法可以做到这一点,但这里我们将使用 adb 命令作为示例。
首先,找出apk文件的保存位置。
粘贴下面的命令,并在“应用程序包名称”中输入您要提取apk的应用程序。
adb shell pm list packages -f | findstr <アプリのパッケージ名>
如果您的计算机是 Mac,请将“findstr”替换为“grep”。

指定 What's New 的包名称的示例。
然后,“package”后面显示的“~.apk”部分表示应用程序保存的“路径”(
新增内容示例)。
/system/priv-app/sonyentrance2-release/sonyentrance2-release.apk

现在您知道 apk 文件保存在哪里了。
最后,粘贴以下命令并在“应用程序路径”中输入确认的位置。
adb pull <アプリのパス>

然后提取过程将开始,一段时间后,APK 文件将保存在您的计算机上。

备份现已完成。
删除预装应用程序后,您可以通过从此 apk 文件重新安装来恢复它。

②:从网上获取的apk文件重新安装
预装应用程序的APK文件分布在互联网上的各个站点上。
您可以通过从其中找到所需的 apk 并将其安装在 Android 上来恢复它。
【注意风险,尝试风险自负】 - 在互联网上发布和分发的APK文件是免费的,但存在较高的安全风险,例如第三方恶意篡改APK文件。乍一看,它们与普通应用程序没有什么区别,因此您可能会遇到意想不到的麻烦,例如您的个人信息在您不知不觉中被盗。
首先,搜索您想要获取的应用程序的名称。
下载的apk文件通常保存在以下位置:
本体ストレージ/Download
使用文件管理应用程序查看并安装它。

③:初始化主机
您可以通过初始化 Android 设备来恢复已删除的预装应用程序。

当然,所有数据都会被删除,因此这不是一个容易实现的方法,但优点是没有旁加载APK文件的麻烦。
〆:删除不需要的系统应用程序!
多于,如何强制删除Android上预装的应用程序!您还可以卸载/禁用无法删除的标准软件。这就是解释。
通过这种方法,您可以通过卸载或禁用来强制删除被阻止的应用程序。
另一方面,在很多情况下,此类应用程序扮演着与内部系统紧密相连的角色,因此一次性将其全部删除是有风险的。
我们建议提前在互联网等上收集信息,然后对不需要的应用程序执行 adb 命令。
请随意使用此作为参考。
