36

我可以使用 来从我的计算机上卸载设备上的应用程序adb uninstall <package_name>,但我想对实际设备上的脚本执行相同的操作。

我也尝试过运行android.intent.action.DELETE意图,am但它会提示用户确认。

鉴于设备已植根,是否可以在设备上运行命令来卸载应用程序而无需用户操作/确认?

4

9 回答 9

56

尝试使用pm命令

pm uninstall <package_name>

或者

pm uninstall -k <package_name>

-k删除包后,该标志保留数据和缓存目录。

我自己没有对此进行测试,但我认为这不应该显示警告消息。

于 2013-07-09T19:46:49.387 回答
14

强制卸载系统用户应用程序:

利用:

adb shell pm uninstall --user 0 <package_name>
于 2018-05-22T07:01:24.720 回答
12

adb shell pm uninstall *your.package.name*

为我做了诀窍。

于 2015-07-09T16:43:21.577 回答
12

如果您想重新安装为用户(即pm uninstall --user 0)删除的包,无需 root:

pm install --user 0 $(pm dump <package name> | awk '/path/{ print $2 }')

这将找到.apk已卸载的包:并搜索以获取路径pm dump <package name>开头的行(注意,这不适用于已卸载的应用程序)并使用(注意,没有参数将不起作用)安装它。path:.apkpm path <package>pm install --user 0pm install--user

这适用于任何系统应用程序,这是一个很好的替代方案pm disable-user <package>,仍然允许您通过设置轻松启用应用程序。例如,您可以卸载Playpm uninstall --user 0 com.android.vending商店adbpm

于 2019-07-10T10:35:43.683 回答
3

某些应用程序无法卸载,所以下面的命令给出了错误:

adb shell pm uninstall package_name
失败 [DE​​LETE_FAILED_INTERNAL_ERROR]  

尝试运行禁用命令,

adb shell pm disable package_namepackage_name新状态:禁用

于 2018-03-06T06:02:53.427 回答
2

我在卸载某些系统启动器(例如 NovaLauncher)时失败了在这种情况下,我建议使用“禁用”而不是“卸载”:

pm disable <package_name>

结果,当您有几个启动器时,您会从启动器列表中隐藏此系统启动器(sys 应用程序)

于 2016-11-17T11:00:42.407 回答
1

从设备中删除任何应用程序的简单命令,试试这个:

pm卸载--user 0  

此命令将从设备中强制删除该应用程序。

于 2019-04-07T10:17:39.307 回答
1

如果您有一个已植根的 android 设备,那么您可以轻松地从您的设备上卸载预安装的应用程序。我的 OnePlus 设备植根于 Magisk 管理器。

对 Android 设备进行 Root 后,您可以拥有设备的管理员权限,因此您可以轻松安装或卸载任何系统应用程序。

但是,命令行方法在大多数情况下也可以使用。我已经在 MIUI 设备上测试了用于删除英国媒体报道软件的 adb 方法。

您可以按照stackover流程​​阅读此线程....

亚行命令:pm uninstall -k <package_name>

于 2020-07-09T09:11:38.927 回答
0

尝试使用 adb 命令:

adb uninstall <package-name>

确保您的设备已连接

于 2021-07-19T13:14:33.653 回答