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

Geo*_*nza 27 command-line android uninstall root

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

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

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

Frx*_*rem 45

尝试使用pm命令:

pm uninstall <package_name>
Run Code Online (Sandbox Code Playgroud)

要么

pm uninstall -k <package_name>
Run Code Online (Sandbox Code Playgroud)

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

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

  • @RaghavSood你不应该做`rm <路径到apk>`因为它会给系统留下大量垃圾而且垃圾仍将使用存储空间(例如,缓存apk),并且很难在没有系统知识的情况下找到(分散在文件系统周围的东西).如果你知道自己在做什么,那么为什么不能,但是普通的`rm apkfile`将不会有任何好处. (2认同)

Dis*_*two 11

adb shell pm uninstall *your.package.name*

为我做了诀窍.


Art*_*tov 11

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

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

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

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


Raj*_*dav 7

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

使用:

adb shell pm uninstall --user 0 <package_name>
Run Code Online (Sandbox Code Playgroud)