繁体   English   中英

如何从设备上的命令行卸载 Android 应用程序

[英]How to uninstall an android app from command line on the device

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

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

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

尝试使用pm命令

pm uninstall <package_name>

要么

pm uninstall -k <package_name>

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

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

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

采用:

adb shell pm uninstall --user 0 <package_name>

adb shell pm uninstall *your.package.name*

对我有用。

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

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

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

这适用于任何系统应用程序,这是pm disable-user <package>一个很好的替代方案,它仍然允许您通过设置轻松启用应用程序。 例如,您可以卸载 Play 商店( pm uninstall --user 0 com.android.vending )并且无法在没有访问adbpm默认非root设备上启用/安装任何应用程序。

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

adb shell pm uninstall package_name
Failure [DELETE_FAILED_INTERNAL_ERROR]

尝试改为运行禁用命令,

adb shell pm disable package_name
Package package_name new state: disabled

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

pm disable <package_name>

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

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

生根 Android 设备为您提供设备的管理员权限,因此您可以轻松安装或卸载任何系统应用程序。

但是,命令行方法在大多数情况下也有效。 我已经在 MIUI 设备上测试了 adb 方法来删​​除英国媒体报道。

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

ADB 命令: pm uninstall -k <package_name>

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

pm uninstall --user 0

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

尝试使用 adb 命令:

adb uninstall <package-name>

确保您的设备已连接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM