我可以使用adb uninstall <package_name>
从我的计算机上卸载设备上的应用,
但是我想对实际设备上的脚本做同样的事情。
我还尝试使用android.intent.action.DELETE
运行am
意图,但会提示用户进行确认。
鉴于该设备已植根,是否可以在设备上运行命令以卸载应用程序而无需用户操作/确认?
答案 0 :(得分:39)
尝试使用pm
command:
pm uninstall <package_name>
或
pm uninstall -k <package_name>
-k
标志在删除包后保留数据和缓存目录。
我自己没有对此进行测试,但我认为这不会显示警告信息。
答案 1 :(得分:11)
adb shell pm uninstall *your.package.name*
为我做了诀窍。
答案 2 :(得分:3)
强制卸载系统用户应用程序:
使用:
adb shell pm uninstall --user 0 <package_name>
答案 3 :(得分:2)
我在卸载某些系统启动器时失败了(例如NovaLauncher) 在这种情况下,我建议使用&#34;禁用&#34;相反&#34;卸载&#34;:
pm disable <package_name>
结果你在有几个发射器的时候从发射器列表中隐藏了这个系统启动器(sys app)
答案 4 :(得分:1)
某些应用无法卸载,因此以下命令会显示错误:
adb shell pm uninstall package_name Failure [DELETE_FAILED_INTERNAL_ERROR]
尝试运行disable命令,
adb shell pm disable package_name Package package_name new state: disabled
答案 5 :(得分:1)
如果您拥有扎根的android设备,则可以轻松地从设备中卸载预安装的应用。我的OnePlus设备植根于Magisk管理器。
启动Android设备会为您提供对设备的管理员权限,因此您可以轻松安装或卸载任何系统应用程序。
但是,命令行方法在大多数情况下也有效。我已经在MIUI设备上测试了adb方法来删除过时的软件。
您可以关注stackover flow read this thread....
ADB命令:pm uninstall -k <package_name>
答案 6 :(得分:0)
从设备删除任何应用程序的简单命令,请尝试以下操作:
pm uninstall --user 0
此命令将强制从设备中删除该应用。
答案 7 :(得分:0)
如果您想重新安装,则需要为用户 (即pm uninstall --user 0
)删除没有root的软件包:
pm install --user 0 $(pm dump <package name> | awk '/path/{ print $2 }')
这将找到已卸载软件包.apk
中的pm dump <package name>
,并搜索以path:
开头的行,以获取到.apk
的路径(请注意{ {1}}不适用于已卸载的应用程序),并使用pm path <package>
进行安装(请注意,没有pm install --user 0
参数的pm install
无效 >)。
此功能适用于任何系统应用,这是--user
的不错选择,它仍然允许您通过“设置”轻松启用应用。
例如,您可以卸载Play商店(pm disable-user <package>
),并且无法在无法访问pm uninstall --user 0 com.android.vending
或adb
的默认无根设备上启用/安装任何应用程序。
答案 8 :(得分:0)
尝试使用 adb 命令:
adb uninstall <package-name>
确保您的设备已连接