How can I use adb to uninstall all 3rd party user

2019-02-11 04:47发布

I am trying to create a script that will retrieve and uninstall all user apps in one batch operation through adb. Does anyone know how I would be able to do this?

I can currently list out all 3rd party apps through

adb shell pm list packages -3

Could I somehow direct the list of packages this generates into an uninstall command in adb?

2条回答
Summer. ? 凉城
2楼-- · 2019-02-11 05:16

What seems to be the problem? It can be done with this one-liner:

adb shell "pm list packages -3 | cut -c9- | xargs pm uninstall"
查看更多
你好瞎i
3楼-- · 2019-02-11 05:30

Try:

adb shell pm list packages -3 | cut -d':' -f2 | tr '\r' ' ' | xargs -r -n1 -t adb uninstall
  • First part is to get 3rd party app package names
  • second part is to split package names using delimiter :
  • third part is to replace carriage return with space (sometimes it would be a problem in linux machines. Try removing this part and check if you face it)
  • and the last one is for uninstalling one by one
    • r option will prevent xargs from running the command if there are no third party apps installed
    • n1 option is to pass one result value as argument at a time to the command
    • t is for printing the command being executed)

Hope it helps!!!

查看更多
登录 后发表回答