如何使用adb卸载所有第三方用户应用程序?

时间:2013-08-14 23:02:25

标签: android adb xargs

我正在尝试创建一个脚本,该脚本将通过adb在一次批处理操作中检索和卸载所有用户应用。有谁知道我怎么能这样做?

我目前可以通过

列出所有第三方应用
adb shell pm list packages -3

我能以某种方式将生成的软件包列表导入adb中的卸载命令吗?

2 个答案:

答案 0 :(得分:16)

尝试:

adb shell pm list packages -3 | cut -d':' -f2 | tr '\r' ' ' | xargs -r -n1 -t adb uninstall
  • 第一部分是获取第三方应用程序包名称
  • 第二部分是使用分隔符:
  • 拆分包名称
  • 第三部分是用空格替换回车(有时候它会在linux机器上出现问题。尝试删除这部分并检查你是否面对它)。
  • ,最后一个是逐个卸载
      如果没有安装第三方应用,
    • r选项将阻止xargs运行命令
    • n1选项是一次将一个结果值作为参数传递给命令
    • t用于打印正在执行的命令)

希望它有所帮助!!!

答案 1 :(得分:2)

似乎有什么问题?这可以通过这种单线程来完成:

adb shell "pm list packages -3 | cut -c9- | xargs pm uninstall"